列表生成式
列表生成式的语法格式:[表示列表元素的表达式 for 自定义的变量 in 可迭代对象]
其中,“表示列表元素的表达式” 通常包含 “自定义的变量”
# 如果想要生成列表 [1, 4, 9, 16, 25, 36] ,可以使用 for in 循环
L = []
for i in range(1, 7):
L.append(i * i)
print(L) # [1, 4, 9, 16, 25, 36]
# 上述的解决方案,有更好的替代,列表生成式
L = [i * i for i in range(1, 7)]
print(L) # [1, 4, 9, 16, 25, 36]
凡是可以通过 for in 循环创建的列表,都可以使用列表生成式来创建
在列表生成式中使用 if 语句
L = [i * i for i in range(1, 7) if not i % 2]
print(L) # [4, 16, 36]
# 以上代码相当于
L = []
for i in range(1, 7):
if not i % 2:
L.append(i * i)
print(L) # [4, 16, 36]
在列表生成式中使用双重循环
L = [(i, j) for i in range(1, 4) for j in range(1, 4)]
print(L) # [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
# 以上代码相当于:
L = []
for i in