my_list = [3, 4, 7, 2, 9, 170]
f = filter(lambda x: x%2==0, my_list)
g = f(my_list)
這個lambda引發了一個問題,它引發了一個「列表對象不可調用」的錯誤。這是一個非常簡單的λ,所以我不太清楚我在做什麼錯在這裏lambda在python中說的列表對象不可調用
my_list = [3, 4, 7, 2, 9, 170]
f = filter(lambda x: x%2==0, my_list)
g = f(my_list)
這個lambda引發了一個問題,它引發了一個「列表對象不可調用」的錯誤。這是一個非常簡單的λ,所以我不太清楚我在做什麼錯在這裏lambda在python中說的列表對象不可調用
你也許認爲f
是過濾,實在不行,f
是過濾對my_list
的結果。這是python-2.x中的list
和python-3.x中的發生器(filter
對象)。
但是,您可以構建一個過濾器,例如通過使用functools
的partial
功能,如:
from functools import partial
f = partial(filter,lambda x : x % 2 == 0) # construct a "filter"
g = f(my_list) # filter my_list
愛我一個好的部分 –
那麼在這種情況下發生了什麼?我一直被困在一個小時或兩個小時的問題上,似乎無法弄清楚錯誤是否在我的最後。 #完成下面的功能。 F =拉姆達my_list:X%2 == 0,如果my_list '
我只能編輯函數lambda。出於某種原因,我不斷得到一個錯誤,說my_list沒有被定義 – a1letterword
但過濾的結果是(在Python的2.X)的列表。不是過濾器,你在列表**上做了過濾。 –
'f'是一個列表,你調用它就像它是一個函數'f(my_list)' – Szymon
我不認爲你需要通過你的列表lambda'''f'''在第二遍 - '''f'''應該只包含你正在查找的過濾列表。 –