生成[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]列表
一般方法:
a = []
for x in range(10):
a.append(x)
使用列表推导式:
[x for x in range(10)]
1. 列表推导式同for或者if使用
[x for x in range(10) if x != 8]
# [0, 1, 2, 3, 4, 5, 6, 7, 9]
列表推导式可以同过个for或if语句一起使用
['x={},y={}'.format(x, y) for x in range(5) if x != 4 for y in range(-1, x) if y > 0]
# 等价于
a = []
for x in range(5):
if x != 4:
for y in range(-1, x):
if y > 0:
a.append('x={},y={}'.format(x, y))
# ['x=2,y=1', 'x=3,y=1', 'x=3,y=2']
2. 列表推导式可以嵌套使用
a = [['1', '2'], ['1', '3']]
b = [[detail_detail for detail_detail in detail if detail != '1'] for detail in a]
print(b)
# [['1', '2'], ['1', '3']]