2017-02-03 36 views
0

我覺得我不知何故誤解了'或'關鍵字在Python中的工作原理。在列表解析中使用「或」

我有以下代碼:

word = "aarrgh" 

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

,這是給我:使用==!=

a a r r g h 

同樣的事情發生。

我在這裏錯過了什麼?我不能在網上找到任何解釋這件事的事情,所以很抱歉,如果這是明顯的事情。

回答

2

你的問題與理解沒有特別的關係。這是or==如何工作的問題。​​表示(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"]) 
+3

更不用說「r」將始終算作真實... – ScegfOd