列表推導式本質上是一種集合了轉換和篩選功能的函式,通過這個函式把乙個列表轉換成另乙個列表(生成新列表,原列表不變)。
列表推導
列表巢狀推導
條件列表推導
列表推導
[ 表示式 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 還有一張可以通過在內部加上一些邏輯語句從而對資料進行篩選...