列表推导式是Python语言的特性之一。列表推导式的基本形式如下:
[expr for val in collection if condition]
如果过滤条件省略,只保留表达式的形式如下:
[expr for val in collection]:
1 | strs = ['a','as','apple','bat','car','dove','cplusplus'] |
集合与字典的推导式是列表对导师的自然拓展,其形式如下:
dict_comp={key-expr: value-expr for value in collection if condition}
set_comp = {expr for value in collection if condition}
和列表推导式类似,集合,字典的推导式非常方便。
1 | unique_len = {len(s) for s in strs} |
列表推导式也是可以嵌套使用的,要牢记for表达式的顺序应当和你写嵌套for循环来代替列表推导式的顺序一致。嵌套列表推导式和列表推导式中的列表推导式不一样。
嵌套列表推导式:
1 | tuples = [(1,2,3),(4,5,6),(7,8,9)] |
列表推导式中的列表推导式:
1 | dim2 = [[x for x in tup ] for tup in tuples] |