Python If 语句使用 'and' 和 'in'

标签 python if-statement

我正在尝试解析一些文本并寻找某些模式。我正在寻找的一种模式是包含“AS”和“.”的字符串。

假设我有一个字符串列表,我使用它来查找所选字符串并将其附加到新列表中。

list1 = []

for ngram in bigrams:
        if ' AS ' and '.' in ngram:
            list1.append(ngram)

这不起作用,它的功能似乎更像是:

    if ' AS ' or '.' in ngram:

有什么建议吗?

最佳答案

if ' AS ' and '.' in ngram:

被解析为

if (' AS ') and ('.' in ngram):

也就是说,

if (True) and ('.' in ngram):

相当于 if '.'在 ngram 中。

事实上,您不能使用“foo 和 bar in baz”。尝试一下:

if ' AS ' in ngram and '.' in ngram:

或者更好的是,在列表理解中使用它并将这 5 行代码更改为一行:

list1 = [ngram for ngram in bigrams if ' AS ' in ngram and '.' in ngram]

关于Python If 语句使用 'and' 和 'in',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211547/

相关文章:

python - 在 virtualenv 中通过 pip 安装 PyGObject

python - 有一种通过按键检查 QCheckBox 的方法吗?

javascript - 处理多个 "else if"语句。降低圈复杂度

php 变量未返回预期内容

matlab - Octave/MATLAB函数将罗马数字转换成十进制数

python - wxPython:禁用笔记本选项卡?

python - 从列表文件中查找包含至少一个单词的所有短语并将它们保存到新文件中

Python如何跳过字符串中某些符号标记的部分?

php - if else 条件不适用于 php 中的数组值

php - 如何使用纯 SQL 实现 PHP 条件?