2017-02-03 7 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"は、必ずしもtrueとカウントされません。 – ScegfOd

関連する問題