python基础之列表生成式

例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]

猜你喜欢

转载自blog.csdn.net/Panda996/article/details/84825386