2017-08-28 37 views
-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編寫以下代碼

謝謝!

+0

閱讀http://www.python-course.eu/lambda.php –

+0

你能告訴我們你的代碼試圖做什麼嗎? –

+0

@ whackamadoodle3000它試圖創建從0到4的偶數和奇數的元組列表 – KabirGandhiok

回答

0

您的問題不適合非常容易地繪製。這基本上只是兩個列表產品的過濾問題。因此,使用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

+0

謝謝!和+1來提示itertools – KabirGandhiok

相關問題