list - 如何检查以下所有项目是否都在列表中?

标签 list python inclusion

我发现,有一个相关的问题,关于如何查找列表中是否存在至少一项:
How to check if one of the following items is in a list?

但是,找出所有项目是否都存在于列表中的最好的 Pythonic 方法是什么?

通过文档搜索我找到了这个解决方案:

>>> l = ['a', 'b', 'c']
>>> set(['a', 'b']) <= set(l)
True
>>> set(['a', 'x']) <= set(l)
False

其他解决方案是这样的:

>>> l = ['a', 'b', 'c']
>>> all(x in l for x in ['a', 'b'])
True
>>> all(x in l for x in ['a', 'x'])
False

但是在这里你必须做更多的输入。

还有其他解决办法吗?

最佳答案

<= 等运算符在 Python 中,通常不会被覆盖以表示与“小于或等于”明显不同的东西。标准库这样做很不寻常——对我来说它闻起来像旧 API。

使用等效且名称更明确的方法 set.issubset .请注意,您不需要将参数转换为集合;如果需要,它会为您执行此操作。

set(['a', 'b']).issubset(['a', 'b', 'c'])

关于list - 如何检查以下所有项目是否都在列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931541/

相关文章:

list - 如何在 netlogo 中设置一个具有随机值但总和为常量的列表?

list - 根据每个列表的第三个元素对 flutter 中的 2D 列表进行排序

html - 李 :hover grows in width inside floating wrapper

python - qtreeview上几个元素的选择及其处理

python - 检查跨周期边界的欧氏距离

python - 在 Python 中读取非常大的文件的最佳方法

c - 无论有没有 C 头文件中的包含保护,它仍然有效。那是为了什么?

java - 从数组创建列表 - 3 种方法哪一种更好

vba - 如何使用VBA查找一个范围是否包含在另一个范围中?

ruby-on-rails - rails 验证特定值