2024-06-16 14:45:21 发布
网友
>>> a = [1,1,1,2,3,4,4] >>> b = [1,1,2,3,3,3,4] [1,1,2,3,4]
请注意,这与以下问题不同: Python intersection of two lists keeping duplicates 因为即使列表a中有3个1,但列表b中只有2个,所以结果应该只有2个。
您可以使用^{}来完成此操作,这将在获取交集时为每个元素提供在任一列表中找到的最低计数。
from collections import Counter c = list((Counter(a) & Counter(b)).elements())
输出:
[1, 1, 2, 3, 4]
简单,无需额外导入,易于调试:)
缺点:列表b的值已更改。如果你不想改变b,就写一份b
c = list() for x in a: if x in b: b.remove(x) c.append(x)
您可以使用^{} 来完成此操作,这将在获取交集时为每个元素提供在任一列表中找到的最低计数。
输出:
简单,无需额外导入,易于调试:)
缺点:列表b的值已更改。如果你不想改变b,就写一份b
相关问题 更多 >
编程相关推荐