python列表推導式和lambda表示式

2021-08-14 23:39:18 字數 545 閱讀 9251

列表推導式簡單明瞭,但要注意if條件的位置。

#if寫在前面

c = [i if i%2==0

else

1for i in a] //遍歷a的每個元素,如果i為偶數直接返回,否則直接返回1。此處if寫在for前面要求必須有else項

>>> a = [1,2,3]

>>> c = [i if i%2==0

else

1for i in a]

>>> c

[1, 2, 1]

#if語句寫在末尾

>>> a = [1,2,3]

>>> c = [i for i in a if i%2==0]#if條件在末尾,只篩選出符合條件的數字

>>> c

[2]#結合lambda

data['sub_orders'] = data['sub_orders'].map(lambda x: [item['item_name'] for item in x] if len(x)>0

else x)

Python列表推導式和生成式

推導式 作用 按一定的邏輯順序,生成列表,簡單且快捷 語法一 表示式 for 變數 in 舊列表 例如生成乙個 1,2,3,4,5,6,7 列表 x for x in range 1 8 或者生成乙個 1,4,9,16,25,36,49,64,81 的列表 x x for x in range 1 ...

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中的偶數求立方加入到新...