vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
if any(char in vowels for char in word):
...
Примечание: Это лучше, потому что короткие замыкания, как только он находит гласные в слове. Таким образом, он не должен проверять все символы, если в строке нет гласных.
Edit: Ран timeit
test и обнаружил, что, @falsetru's answer очень быстро, но с некоторыми оптимизациями, версия re
бьет все остальное.
import re
vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
pattern = re.compile("[AEIOUaeiou]")
def intersection():
return bool(vowels.intersection("TWYNDYLLYNGS"))
def any_version():
return any(char in vowels for char in "TWYNDYLLYNGS")
def re_version():
return bool(pattern.search("TWYNDYLLYNGS"))
def disjoint():
return vowels.isdisjoint("TWYNDYLLYNGS")
from timeit import timeit
print timeit("intersection()", "from __main__ import intersection, vowels")
print timeit("any_version()", "from __main__ import any_version, vowels")
print timeit("re_version()", "from __main__ import re_version, vowels")
print timeit("disjoint()", "from __main__ import disjoint, vowels")
'любой (i.lower() в 'aeiuo' для г в слове)' –
этот тип вопроса было много раз спрашивали, –
я искал, вмятина получить любой .. –