2017-02-03 14 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" средства (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