g = filter中的逗号是什么意思(a,b中的lambda x:x)

时间:2017-07-24 22:29:45

标签: python-3.x lambda

我不确定逗号在以下语法中的含义:

a = [1,2,3,5,7,9]
b = [2,3,5,6,7,8]
g = filter(lambda x: x in a, b)  

这相当于:

if x in a and x in b

因为那会发生什么。此外,这个逗号只在lambda函数中合法吗?

1 个答案:

答案 0 :(得分:2)

b是执行过滤器的集合。

filter有两个参数。第一个是函数(可以是lambda),第二个是应用函数的集合。该函数将应用于集合中的每个项目。

所以在这种情况下我们有:

a = [1,2,3,5,7,9]
b = [2,3,5,6,7,8]

g = filter(lambda x: x in a, b)

,分隔参数。第一个参数是lambda函数,因此仅lambda x: x in a,因此它仅通过返回返回True的项集合来过滤集合。因此,对于我们的第一个项目,我们在b中有第一个项目,即2. {2}位于a,因此它将返回True并且它将位于filter的结果中1}} function,g