python中的列表推導式

2022-01-31 16:15:37 字數 957 閱讀 7085

所謂的列表推導式,就是指的輕量級迴圈建立列表。

# 建立乙個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):

# 建立乙個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 = [(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 = 

for x in range(1,100,3):

然後再把它轉換成列表推導式

a = [[x,x+1,x+2] for x in range(1,100,3)]

Python中列表推導式

理解 舊的列表通過相應的邏輯生成新的列表。列表推導式 格式 表示式 for 變數 in 舊列表 或者 表示式 for 變數 in 舊列表 if 條件 過濾掉長度小於或者等於3的人名。names tom jason jack ha hey lilala result name for name in ...

python中的列表推導式

類似於這樣 x for x in range 101 x for x in range 10 if x 2 0 x y for x in range 10 for y in range 10 式子,就叫做列表推導式 列表推導式的好處就是能快速生成列表 列表推導式的好處就是浪費記憶體 空間複雜度太大 ...

python中的列表推導式

python裡面有個很棒的語法糖 syntactic sugar 它就是list comprehension,有人把它翻譯成 列表推導式 也有人翻譯成 列表解析式 名字聽上去很難理解,但是看它的語法就很清晰了。雖然名字叫做 list comprehension,但是這個語法同樣適用於dict set...