-1
[(x, y) for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1]
我知道列表解析更加簡潔,只是想知道如何在這裏使用map,filter和lambda。如何使用地圖,過濾器和lambda編寫以下代碼
謝謝!
[(x, y) for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1]
我知道列表解析更加簡潔,只是想知道如何在這裏使用map,filter和lambda。如何使用地圖,過濾器和lambda編寫以下代碼
謝謝!
您的問題不適合非常容易地繪製。這基本上只是兩個列表產品的過濾問題。因此,使用product
函數從itertools
相同的功能可以被實現爲:
from itertools import product
list(filter(lambda pair: pair[0]%2 == 0 and pair[1]%2 == 1, product(range(5), repeat=2)))
包圍list
是因爲在Python 3,filter
函數返回一個可迭代filter object
。
謝謝!和+1來提示itertools – KabirGandhiok
閱讀http://www.python-course.eu/lambda.php –
你能告訴我們你的代碼試圖做什麼嗎? –
@ whackamadoodle3000它試圖創建從0到4的偶數和奇數的元組列表 – KabirGandhiok