例1:
>>> List=[x for x in range(10)]
>>> List
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
等价于:
>>> List=[]
>>> for x in range(10):
List.append(x)
>>> List
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
例2:
>>> List=[x+3 for x in range(10)]
>>> List
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> a=[1,2,3,4,5]
>>> List=[x*2 for x in a]
>>> List
[2, 4, 6, 8, 10]
例3:两个for循环
>>> List=[x for x in range(3) for x in range(5)]
>>> List
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
等价于:
>>> List=[]
>>> for x in range(3):
for x in range(5):
List.append(x)
>>> List
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
例4:
>>> List=[(x,y) for x in range(3) for y in range(4)]
>>> List
[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]
等价于:
>>> List=[]
>>> for x in range(3):
for y in range(4):
List.append((x,y))
>>> List
[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]
例5:for 循环后面跟if条件语句: 用if 语句判断,当if后面的语句值为真时,将对应的元素放入列表
>>> List=[x for x in range(3) for x in range(8) if x%2==0]
>>> List
[0, 2, 4, 6, 0, 2, 4, 6, 0, 2, 4, 6]
例6 :
>>> a=[[1,2],[3,4],[5,6]]
>>> [j for i in a for j in i]
[1, 2, 3, 4, 5, 6]