使用"或"在列表理解中

时间:2017-02-03 21:59:38

标签: python list-comprehension

我觉得我在某种程度上误解了“'或者'”的基本概念。关键字适用于Python。

我有以下代码:

word = "aarrgh"

print(*[x for x in word if x == "a" or "r"])

这就是给我:

a a r r g h

使用==!=时会发生同样的事情。

我在这里缺少什么?我无法在网上找到解释这一点的任

1 个答案:

答案 0 :(得分:2)

您的问题与理解无关。这是or==如何运作的问题。 x == "a" or "r"表示(x == "a") or "r"。你应该使用其中一个。

print(*[x for x in word if x in ["a", "r"]])
print(*[x for x in word if x == "a" or x == "r"])