所謂的列表推導式,就是指的輕量級迴圈創建列表。 基本使用方式 上面的列表推導式等價於下麵,只是代碼非常簡化。 在迴圈的過程中使用if 等價於 2個for迴圈 等價於 練習 生成一個[[1,2,3],[4,5,6]....]的列表最大值在100以內 首先考慮一下正常情況我們應該怎麼寫 然後再把它轉換成 ...
所謂的列表推導式,就是指的輕量級迴圈創建列表。
- 基本使用方式
# 創建一個0-10的列表
a = [x for x in range(11)]
print(a)
"""
輸出結果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
"""
上面的列表推導式等價於下麵,只是代碼非常簡化。
a = []
for x in range(10):
a.append(x)
- 在迴圈的過程中使用if
# 創建一個1-10之間偶數的列表
a = [x for x in range(11) if x%2==0]
"""
輸出結果:
[0, 2, 4, 6, 8, 10]
"""
等價於
a = []
for x in range(11):
if x%2 == 0:
a.append(x)
- 2個for迴圈
a = [(x,y) for x in range(3) for y in range(3)]
print(a)
"""
輸出結果:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
"""
等價於
a = []
for x in range(3):
for y in range(3):
a.append((x,y))
練習
- 生成一個[[1,2,3],[4,5,6]....]的列表最大值在100以內
首先考慮一下正常情況我們應該怎麼寫
a = []
for x in range(1,100,3):
a.append([x,x+1,x+2])
然後再把它轉換成列表推導式
a = [[x,x+1,x+2] for x in range(1,100,3)]