Yes, list comprehensions can take care of some of these, but you're completely missing the entire point.
The point was that writing something like
lambda item: item[0]
in your code is inferior to
lambda (k, v): k
in terms of readability and comprehensibility. It is both longer and it also doesn't document the fact that the item is semantically a key-value pair.
The problem is not (and has never been) whether something is "necessary" or "possible". Tuple unpacking obviously completely unnecessary to begin with, it has nothing to do with whether this is done in a parameter or not. The problem is whether the code is expressed better via unpacking.
The point was that writing something like
in your code is inferior to in terms of readability and comprehensibility. It is both longer and it also doesn't document the fact that the item is semantically a key-value pair.The problem is not (and has never been) whether something is "necessary" or "possible". Tuple unpacking obviously completely unnecessary to begin with, it has nothing to do with whether this is done in a parameter or not. The problem is whether the code is expressed better via unpacking.