问题是关于更快,即。更多 pythonic,测试可迭代对象中的任何元素是否存在于另一个可迭代对象中的方法。
我想做的是:
如果是“foo”或者“bar”或者“baz”:
通过
但显然这种方式重复了“in terms”子句并使代码膨胀,尤其是当 我们正在处理更多的因素。所以我想知道是否有更好的方法在 python 中执行此操作。
最佳答案
您还可以考虑在您的特殊情况下是否可以使用 set
而不是 iterables。如果 (foobarbaz
和 terms
) 都是 set
,那么你可以只写
if foobarbaz & terms:
pass
这并不比您的方式特别快,但到目前为止它的代码更小,因此可能更适合阅读。
当然,并非所有可迭代对象都可以转换为 set
,因此这取决于您的用例。
关于python - 查找列表的任何元素是否存在于Python中的另一个列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531334/