列表推導式(又稱列表解析式)提供了一種簡明扼要的方法來建立列表。
它的結構是在乙個中括號裡包含乙個表示式,然後是乙個for語句,然後是 0 個或多個 for 或者 if 語句。那個表示式可以是任意的,意思是你可以在列表中放入任意型別的物件。返回結果將是乙個新的列表,在這個以 if 和 for 語句為上下文的表示式執行完成之後產生。
列表推導式的執行順序:各語句之間是巢狀關係,左邊第二個語句是最外層,依次往右進一層,左邊第一條語句是最後一層。
1.現在有乙個元組中存在各種型別的資料
(1, 『張三』, none, decimal(『196.32』), datetime.datetime(2020, 8, 5, 11, 28, 47))
# 遍歷這個元組,並且將其每個元素轉換成str型別
a =[
str(iterm)
for iterm in tuple_test]
print
(a)print
(type
(a))
# 輸出
['1', '張三', 'none', '196.32', '2020-08-05 11:28:47']
2.巢狀呼叫(含if)
a =
[x+y for x in
range(1
,5)if x >
2for y in
range(1
,5)if y <2]
print
(a)
# 輸出
[4, 5]
# 執行順序
for x in
range(1
,5):
if x >2:
for y in
range(1
,5):
if y <2:
print
(x+y)
3.複雜呼叫(含if else)
還是上面那個元組
# 先在for迴圈迭代元組,如果元組中的元素不為none就直接輸出,如果元素為none則替換為null
a =[
str(iterm)
if iterm is
notnone
else
'null'
for iterm in tuple_test]
print
(a)print
(type
(a))
# 輸出
['1', '張三', 'null', '196.32', '2020-08-05 11:28:47']
python列表推導式使用
列表推導式 alist 一般的操作方式 for x in range 30 print alist alist x x for x in range 30 使用列表推導式,形式上更加簡潔 print alist alist 一般的操作方法 for x in freshfruit print alis...
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中的偶數求立方加入到新...