在 Python 中,按照惯例,下划线 ( _
) 通常用于丢弃未打包元组的一部分,如下所示
>>> tup = (1,2,3)
>>> meaningfulVariableName,_,_ = tup
>>> meaningfulVariableName
1
我正在尝试对 lambda 的元组参数做同样的事情。只能用 2 元组来完成,这似乎是不公平的......
>>> map(lambda (meaningfulVariableName,_): meaningfulVariableName*2, [(1,10), (2,20), (3,30)]) # This is fine
[2, 4, 6]
>>> map(lambda (meaningfulVariableName,_,_): meaningfulVariableName*2, [(1,10,100), (2,20,200), (3,30,300)]) # But I need this!
SyntaxError: duplicate argument '_' in function definition (<pyshell#24>, line 1)
任何想法为什么,以及实现这一目标的最佳方法是什么?