表达式:
[expr for iter_var in iterable]
这个表达式里的核心是for循环,它迭代iterable对象的所有条目var。expr应用于序列的每一个成员,返回的将是该表达式产生的新的列表。
例子:对a的每个条目乘以2,并组成新的列表 采用map+lambda:a=[1,2,3,4,5] map(lambda x:x*2, a ) 采用列表解析:[x*2 for x in a] 扩展版本[expr for iter_var in iterable if con_expr]比之前增加了一个if判断,该表达式在迭代时将会对序列的每个条目进行判断,过滤掉不符合规则的条目 多重循环版本[expr for x in iterable_a for y in iterable_b]For语句从左到右依次为从外到内 迭代多维矩阵:[(x+1,y+1) for x in range(3) for y in range(5) ] 迭代一个三行五列的矩阵 注意:列表解析支持多重循环和多个if语句