繁体   English   中英

检查列表中是否至少有 2 个值在另一个列表中

[英]Check if at least 2 values from a list are in another list

我有一个清单:

["a", "b", "c", "d"]

并列出 b1:

["a", "b", "x"]

和 b2:

["a", "z", "x"]

如果 b1 至少有 2 个来自 a 的元素,则结果为 True。 如果 b2 至少有 2 个来自 a 的元素,则结果为 True。

在这个例子中,b1 == True 和 b2 == False。

我如何在 Python 中检查它?

这个函数应该做你想做的,使用集合和集合交集

def f(a, b):
    return len(set(a) & set(b)) >= 2

用法:

>>> f(a, b1)
True
>>> f(a, b2)
False

或者,如果b有重复元素,您可以使用:

def f2(a, b):
    return sum(x in a for x in b) >= 2

测试:

>>> f(a, ['a', 'a', 'x'])
False
>>> f2(a, ['a', 'a', 'x'])
True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM