4 ms·
lambda a, b: a + b kind of works, but you can't call it with tuple argument (which you could in Python 2.7). This hurts when e.g. you have a list of pairs and t
by Marat_Dukhan 9y ago
lambda a, b: a + b kind of works, but you can't call it with tuple argument (which you could in Python 2.7). This hurts when e.g. you have a list of pairs and try to map when via lambda, e.g.: map(lambda a, b: a+b, [(1, 2), (3, 4)]). Even worse, this won't fail right away in Python 3 (thanks, lazy evaluation in map), but will raise when you try to use the result of map
- ben-schaaf 9y agoThat doesn't work in the python 2.7 that I'm running, just like python 3 it complains that I don't have enough arguments.
- Marat_Dukhan 9y agoRight, needs brackets: lambda (a, b)
- recursive 9y agoAs far as I can tell, you're complaining about one character. This works. >>> add = lambda a, b: a + b >>> t = (1, 2) >>> add(*t) 3 Is that extra asterisk the problem? Again, if you want a materialized list, pass it to `list()`. Projection failures will raise then.