2
我有其中有10這樣的除數的列表:我可以獲得在Python中使用過濾器的函數列表嗎?
print filter(lambda x: 10 % x == 0, range(1, 10))
>>>[1, 2, 5]
然後,我需要的功能,像這樣的列表:
F = [lambda x:k+x for k in filter(lambda x: 10 % x == 0, range(1, 10))]
當我調用列表中的每個功能,它變成出錯:
for f in F:
print(f(0))
>>> 5
>>> 5
>>> 5
所以我怎樣才能得到正確的功能列表?
延伸閱讀:[?在Python做什麼(lambda)函數閉包捕獲(http://stackoverflow.com/questions/2295290 /什麼-DO-λ-功能性關閉捕捉功能於蟒蛇) – sloth