IMO lambdas are useful because they reduce mental overhead by allowing the developer not to give names to trivial functions [1].
Compare these two equivalent pieces of code:
youngest_person = min(people, key=lambda x: x.age)
def get_age(x):
return x.age
youngest_person = min(people, key=get_age)
This may not seem like a huge difference, but using lambdas scales better.[1] Incidentally, this is the same reason why I don't miss multi-line lambdas (in Python): multi-line functions are seldom trivial.
Yeah in the context of multi line functions the overhead is
A new line A tab A return
This does not sound heavyweight to me (in that context). In the context of a single line function I see the utility of lambdas.
def x(y): <code goes here>
What's so heavyweight? A new line and a tab?