2024-04-23 23:26:07 发布
网友
>>> 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中有三个1,列表b中也只有两个,所以结果应该只有两个
您可以使用^{}进行此操作,这将在交叉点时为每个元素提供在任一列表中找到的最低计数
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
相关问题 更多 >
编程相关推荐