列表解析

语法:

[ expr for iter_var in iterable ]

说明:

for循环迭代iterable对象的所有条目。前面的expr应用于序列的每个成员,最后的结果值是该表达式产生的列表。

示例:

>>> [ x**2 for x in range(6) ]
[0, 1, 4, 9, 16, 25]
>>> [(x+1,y+1) for x in range(3) for y in range(5)]
[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5)]
>>> 

  

还可以结合if语句进行扩展:

[ expr for iter_var in iterable if cond_expr ]
>>> seq = [11,10,9,9,10,10,9,8,23,9,7,18,12,11,23]
>>> [ x for x in seq if x%2 ]
[11, 9, 9, 9, 23, 9, 7, 11, 23]
>>> 

  

原文地址:https://www.cnblogs.com/abclife/p/5757077.html