To jest mój kod:Dlaczego lambda prosi o 2 argumenty pomimo podania 2 argumentów?
filter(lambda n,r: not n%r,range(10,20))
pojawia się błąd:
TypeError: <lambda>() takes exactly 2 arguments (1 given)
Więc potem próbowałem:
foo=lambda n,r:not n%r
który działał dobrze. Tak myślałem, że to będzie działać:
bar=filter(foo,range(10,20))
Ale znowu:
TypeError: <lambda>() takes exactly 2 arguments (1 given)
Coś podobnego dzieje się na mapie, jak również. Ale zredukuj działa dobrze. Co ja robię źle? Czy brakuje mi czegoś kluczowego, potrzebnego do użycia filtra lub mapy?
'filtrem()' przechodzi jeden argument do swojego lambda, kiedy spodziewa się dwóch. Używanie zmiennej nie pozwoli ci ominąć tego. – NullUserException