python - 查找列表的任何元素是否存在于Python中的另一个列表中

标签 python list

问题是关于更快,即。更多 pythonic,测试可迭代对象中的任何元素是否存在于另一个可迭代对象中的方法。

我想做的是:

如果是“foo”或者“bar”或者“baz”: 通过

但显然这种方式重复了“in terms”子句并使代码膨胀,尤其是当 我们正在处理更多的因素。所以我想知道是否有更好的方法在 python 中执行此操作。

最佳答案

您还可以考虑在您的特殊情况下是否可以使用 set 而不是 iterables。如果 (foobarbazterms) 都是 set,那么你可以只写

if foobarbaz & terms:
    pass

这并不比您的方式特别快,但到目前为止它的代码更小,因此可能更适合阅读。

当然,并非所有可迭代对象都可以转换为 set,因此这取决于您的用例。

关于python - 查找列表的任何元素是否存在于Python中的另一个列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531334/

相关文章:

Python 从 git 进行 self 更新

javascript - 将 JSON 从 JavaScript 返回到 Python

python - 嵌套列表理解示例

python - 如何从给定的一组单词中打印出最长和最短的单词?

java - 正则表达式 - 排除名称的单词列表

list - Haskell 列表复杂度

python - 隐藏在 django-filter 中产生零结果的过滤器项

python - 修复我的函数的返回格式

Python 正则表达式处理多个换行符

python - 将 Python 列表写入 csv 中的列