列表推導式 Python

2021-10-06 06:27:27 字數 1794 閱讀 3944

列表推導式本質上是一種集合了轉換和篩選功能的函式,通過這個函式把乙個列表轉換成另乙個列表(生成新列表,原列表不變)。

列表推導

列表巢狀推導

條件列表推導

列表推導

[ 表示式 for 變數 in 列表]

l =

['1'

,'2'

,'3'

,'4'

]out1 =

[int

(i)for i in l]

#對列表內資料整數化,生成的還是列表

out2 =

[int

(i)+

10for i in l]

#對列表中資料進行調整

print

(out1)

print

(out2)

#輸出:[1,2,3,4]

#輸出:[11,12,13,14]

列表巢狀推導

[ 表示式 for 變數1 in 列表1 for 變數2 in 列表2]

l =[[

1,2]

,[3,

4],[

5,6]

]out1 =

[i for i in l for x in i ]

out2 =

[x for i in l for x in i]

out3 =

[[x+

10for x in i]

for i in l]

print

(out1)

#巢狀迴圈 先執行for i in l, 再執行for x in i,表示式為 i

print

(out2)

#巢狀迴圈 表示式為 x

print

(out3)

#先執行for i in l,再執行[x+10 for x in i]

#輸出:[[1, 2], [1, 2], [3, 4], [3, 4], [5, 6], [5, 6]]

#輸出:[1, 2, 3, 4, 5, 6]

#輸出:[[11, 12], [13, 14], [15, 16]]

條件列表推導

[ 表示式 for 變數1 in 列表 if 條件]

l =[[

1,2]

,[3,

4],[

5,6]

]m =[1

,2,3

,4]out1 =

[x for x in m if x>2]

out2 =

[[x for x in i if x>=2]

for i in l]

out3 =

[[x,y]

for x in m for y in m if x!=y]

print

(out1)

#先執行for x in m,再執行if x>2

print

(out2)

print

(out3)

#輸出:[3, 4]

#輸出:[[2], [3, 4], [5, 6]]

#輸出:[[1, 2], [1, 3], [1, 4], [2, 1], [2, 3], [2, 4], [3, 1], [3, 2], [3, 4], [4, 1], [4, 2], [4, 3]]

python 理解列表推導式以及列表推導式巢狀

所謂列表推導式,就是將乙個可迭代的列表遍歷,將每次遍歷的元素拿出來進行一些操作,並用乙個 括起來,組成乙個新的列表 expression for i in item if condition expression 就是對每乙個元素的具體操作表示式 item是某個可迭代物件的元素,如列表,元組或字串等...

python列表推導式

a 1,2,3,4,5,6,7 將每個元素求平方 加入到b列表中 1.列表解析 b x 2 for x in a print b 2.用map實現 c map lambda x x 2,a print list c 3.用迴圈實現 d for x in a print d 將a中的偶數求立方加入到新...

Python 列表推導式

python中的列表推導式有較好的用途,這裡介紹兩個可能大家會用到的,具體簡單的列表推導式的這裡就不說了 testlist 1,2,3,4 defmul2 x return x 2 print mul2 i for i in testlist 還有一張可以通過在內部加上一些邏輯語句從而對資料進行篩選...