gpt4 book ai didi

python - 检查列表 A 的所有元素是否在列表 B 中

转载 作者:行者123 更新时间:2023-11-28 21:04:41 24 4
gpt4 key购买 nike

我已经完成了研究,但是所有这些技术都返回 true,我需要它们返回 false。

print set([2, 2]).issubset([2, 3, 3]) #returns True
print set([2, 3, 3]).issuperset(set([2, 2])) #returns True
print all(x in {2, 3, 3} for x in [2, 2]) #returns True
print set([2, 2]) <= set([2, 3, 3]) #returns True

我正在比较的列表有重复的数字

最佳答案

您可以在 all 函数中使用 list.count:

all(l1.count(i) <= l2.count(i) for i in set(l1))

对于 l1 中的每个元素,这将检查 l2 中是否至少出现了同样多的元素。如果 l1 的任何元素在 l2 中出现的次数较少,则 all 函数将返回 False。当l1包含大量相同的值时,将l1转换为set可以防止迭代次数增加。

测试:

>>> f = lambda l1, l2: all(l1.count(i) <= l2.count(i) for i in set(l1))
>>> f([2, 2], [2, 3, 3])
False
>>> f([2, 2], [2, 2, 3])
True

关于python - 检查列表 A 的所有元素是否在列表 B 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44965692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com