我只是有一个问题。如何在没有 lambda 的情况下使用抽象函数?
说我有两个清单
a = [1,2,3,4,5]
b = [2,4,6]
如果我想打印所有出现在 A 和 B 中的元素,
与 lambda:
def f():
print reduce (list.__add__ , map (lambda x: filter (lambda y: x == y, b), a))
没有 lambda 怎么办?
我的意思是我只是使用辅助函数而不是 lambda
我只是有一个问题。如何在没有 lambda 的情况下使用抽象函数?
说我有两个清单
a = [1,2,3,4,5]
b = [2,4,6]
如果我想打印所有出现在 A 和 B 中的元素,
与 lambda:
def f():
print reduce (list.__add__ , map (lambda x: filter (lambda y: x == y, b), a))
没有 lambda 怎么办?
我的意思是我只是使用辅助函数而不是 lambda
你如何得到两组的交集?如果你使用set
数据类型,你可以只使用&
联合:
print list(set(a) & set(b))
a = [1,2,3,4,5]
b = [2,4,6]
ab = []
for i in a:
if i in b:
ab.append(i)
print(ab)
如果有重复的风险,我会使用 Counter :
>>> a = [1, 2, 2, 3]
>>> b = [2, 2, 3]
>>> from collections import Counter
>>> Counter(a) & Counter(b)
Counter({2: 2, 3: 1})
>>>
>>> list_ = []
>>> c = Counter(a) & Counter(b)
>>> for num, count in c.items():
... list_.extend([num] * count)
...
>>> list_
[2, 2, 3]