list(map(lambda x,y : x*y , listA, listB))
我想知道Python如何理解lambda x,y中存在的逗号属于lambda函数,并且它不是map函数第一个参数的结尾。
lambda
,Python 知道
:
函数定义尚未完成。
lambda
函数的语法是:
lambda args: expression
其中可以有任意数量的参数,并且所有参数也是可选的。因此,这个表达式
lambda: print('in lambda')
有效,这个也行:
lambda arg1, arg2, arg3: sum([arg1, arg2, arg3])
计算此表达式时:
list(map(lambda x,y : x*y , listA, listB))
Python 知道 x
和
y
之间的逗号属于
lambda
函数,因为尚未到达预期的冒号。一旦 Python 到达冒号,它将需要一个表达式,在本例中为
x*y
,它完成了
lambda
函数定义。现在,找到的任何逗号都将被评估为
map
函数的参数分隔符