我不确定逗号在以下语法中的含义:
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函数中合法吗?
答案 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
。