如果要獲得乙個(元素為整數的)列表裡面的偶數,很容易想到列表解析:
[i for i in nums if i%2==0]
但是如果要使列表的長度不變,讓奇數用0來填充,可能你會直接寫:
[i for i in nums if i%2==0 else 0]
那就錯了,這是lambda函式的寫法,拿到這邊就有問題了。
但是有兩種方法實現:
首先使用lambda來定義乙個f,再將f作用在每個i上:
f = lambda x: x if x%2==0 else0[f(i)
for i in nums]
另一種做法:
[ i%2==0 and i or 0 for i in nums]
相當於 if i%2==0 則 i 否者 0
python列表解析
列表解析是乙個列表對映出另乙個列表,它的基本形式是乙個方括號裡面包含乙個for語句對乙個iterable物件迭代 expression for target1 in iterable1 if condition1 for targetn in iterablen if conditionn 上面是列...
python 列表解析
m 1,2,3 4,5,6 7,8,9 col2 row 1 for row in m 獲取列表m的每個元素的第二個元素的值組成的列表 print col2 print row 1 1 for row in m 獲取列表m的每個元素的第二個元素 1的值組成的列表 print row 1 for ro...
Python列表解析
語法 1.expression for iter val in iterable 2.expression for iter val in iterable if cond expr l i 2 for i in range 1,11 print l 1,4,9,16,25,36,49,64,81,...