python - 从列表中提取关键字然后使用 `and`

标签 python

我不知道怎么解释。例如我有以下代码:

if 'foo' and 'bar' in 'foobar':
    print('foobar')

我想使用一些关键字来检查 sting,我的问题是,现在我正尝试将这些关键字放在这样的列表中:

keywords = ['foo', 'bar']

但是我现在该如何使用它们呢?如果我使用 for 像这样提取它们:

for i in keywords:
    if i in 'foobar':
        print('foobar')

但这会打印两次 foobar

最佳答案

您可以使用生成器表达式遍历所有关键字并检查它们是否都包含在 'foobar' 中。使用 all 也将允许它在找到第一个 False 时短路。

if all(i in 'foobar' for i in keywords):
    print('foobar')

与此类似的是,如果您想要打印,如果找到任何关键字,您可以使用

if any(i in 'foobar' for i in keywords):
    print('foobar')

关于python - 从列表中提取关键字然后使用 `and`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33148226/

相关文章:

python - 我对使用 Xgboost 的 hyperopt 包的 fmin() 函数有很大的兴趣

python - 如何快速检测字符串是否经过 zlib 压缩?

python - google-cloud 依赖项在 python 应用程序引擎中被覆盖

python - mod_python Apache 配置

Python 多处理进程在一段时间后休眠

python - 将键值对读入 Pandas

python - 比较数字在 Python 中给出错误的结果

python - 如何使用正则表达式查找重叠匹配?

Python//Pandas——只选择给定列中满足特定条件的行

python - 抽象 if 语句并通过函数返回