列表推导式是python最受欢迎的特性之一。
列表推导式形式为:
[expr for val in lst if condition]
字典的推导式形式为:
{key-expr : value-expr for value in collection if condition}
集合的推导式形式为:
{expr for value in collection if condition}
举例说明
strings = ['a', 'as', 'the', 'dove', 'python', 'ipython']
lst_str = [x for x in strings if len(x) > 2]
set_str = {len(x) for x in strings}
dict_str = {value:index for index, value in enumerate(strings)}
输出为:
lst_str>>>['the', 'dove', 'python', 'ipython']
set_str>>>{1, 2, 3, 4, 6, 7}
dict_str>>>{'a': 0, 'as': 1, 'the': 2, 'dove': 3, 'python': 4, 'ipython': 5}
lst_str保存strings中长度大于2的字符串
set_str保存strings中每个字符串的长度
dict_str保存strings中每个字符串及其对应的索引值