1
我想複製下面的JavaScript代碼在Python執行代碼塊:在地圖在Python
let a = [0, 4, 5]
b = a.map(x => {
if(x < 3) return 0
else return 1
})
任何想法,我該怎麼辦呢? 我不知道如何在map
函數中執行代碼塊。
我想複製下面的JavaScript代碼在Python執行代碼塊:在地圖在Python
let a = [0, 4, 5]
b = a.map(x => {
if(x < 3) return 0
else return 1
})
任何想法,我該怎麼辦呢? 我不知道如何在map
函數中執行代碼塊。
您可以做一個功能,或者使用lambda函數是這樣的:
>>> a = [0, 4, 5]
>>> b = map(lambda x: 0 if x < 3 else 1, a)
>>> b
[0, 1, 1]
唯一一種在Python匿名函數lambda表達式,而且他們的限制只能是一個表達式,如果你希望你有一個適當的功能,給它一個名字:
def map_f(x):
if x < 3:
return 0
else:
return 1
b = map(map_f, a)
就個人而言,我更喜歡列表理解到map
功能。
>>> a = [0, 4, 5]
>>> [int(x >= 3) for x in a]
[0, 1, 1]
它們允許您使用任何您想要的表達而無需創建函數。