列表解析 List Comprehensions
表达式:[expression for iter_val in iterable if cond_expr]- [expression]:最后执行的结果
- [for iter_val in iterable]:这个可以是一个多层循环
- [if cond_expr]:两个for间是不能有判断语句的,判断语句只能在最后;顺序不定,默认是左到右。
讨论下多个 for 循环的执行顺序。
从左到右:
>>> print[(x,y)for x in [1,2]for y in [3,4]] [(1, 3), (1, 4), (2, 3), (2, 4)] >>> print[(x,y)for x in [1,2]for y in [3,x]] [(1, 3), (1, 1), (2, 3), (2, 2)] >>>
从右到左:
>>> print[(x,y)for x in [1,y]for y in [3,4]] [(1, 3), (1, 4), (2, 3), (2, 4)] >>>