История изменений
Исправление t184256, (текущая версия) :
На comprehension’ах без import’ов и без загрузки всего файла в память, прям даже как будто настоящие let и chaining:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
words = (word.rstrip() for word in open('russian.txt')
if (vowels := [v for v in word.lower() if v in VOWELS])
if sum((x in vowels) ^ (y in vowels) for x, y in PAIRS) == len(PAIRS)
if all(VOWELS.index(x) < VOWELS.index(y)
for x, y in zip(vowels, vowels[1:])))
for word in words:
print(word)
Исправление t184256, :
На comprehension’ах без import’ов и без загрузки всего файла в память, прям даже как будто настоящие let и chaining:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
is_sorted_uniq = lambda l, key: all(key(x) < key(y) for x, y in zip(l, l[1:]))
words = (word.rstrip() for word in open('russian.txt')
if (vowels := [v for v in word.lower() if v in VOWELS])
if sum((x in vowels) ^ (y in vowels) for x, y in PAIRS) == len(PAIRS)
if is_sorted_uniq(vowels, key=VOWELS.index))
for word in words:
print(word)
Исправление t184256, :
На comprehension’ах без import’ов, прям даже как будто настоящие let и chaining:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
is_sorted_uniq = lambda l, key: all(key(x) < key(y) for x, y in zip(l, l[1:]))
words = (word.rstrip() for word in open('russian.txt').readlines()
if (vowels := [v for v in word.lower() if v in VOWELS])
if sum((x in vowels) ^ (y in vowels) for x, y in PAIRS) == len(PAIRS)
if is_sorted_uniq(vowels, key=VOWELS.index))
for word in words:
print(word)
Исправление t184256, :
На comprehension’ах без import’ов, прям даже как будто настоящие let и chaining:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
is_sorted_uniq = lambda l, key: all(key(x) < key(y) for x, y in zip(l, l[1:]))
words = (w.rstrip() for w in open('russian.txt').readlines()
if (vowels := [v for v in w.lower() if v in VOWELS])
if sum((x in vowels) ^ (y in vowels) for x, y in PAIRS) == len(PAIRS)
if is_sorted_uniq(vowels, key=VOWELS.index))
for word in words:
print(word)
Исправление t184256, :
На comprehension’ах без import’ов, прям даже как будто настоящие let и chaining:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
is_sorted_uniq = lambda l, key: all(key(x) < key(y) for x, y in zip(l, l[1:]))
words = (w.rstrip() for w in open('russian.txt').readlines()
if (vowels := [v for v in w.lower() if v in VOWELS])
if sum(vowels.count(x) + vowels.count(y) == 1 for x, y in PAIRS) == 5
if is_sorted_uniq(vowels, key=VOWELS.index))
for word in words:
print(word)
Исправление t184256, :
На comprehension’ах без import’ов:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
is_sorted_uniq = lambda l, key: all(key(x) < key(y) for x, y in zip(l, l[1:]))
words = (w.rstrip() for w in open('russian.txt').readlines()
if (vowels := [v for v in w.lower() if v in VOWELS])
if sum(vowels.count(x) + vowels.count(y) == 1 for x, y in PAIRS) == 5
if is_sorted_uniq(vowels, key=VOWELS.index))
for word in words:
print(word)
Исходная версия t184256, :
На comprehension’ах без import’ов:
PAIRS = ('ая', 'оё', 'ую', 'ыи', 'эе')
VOWELS = 'аеёиоуыэюя'
get_vowels = lambda w: [v for v in w.lower() if v in VOWELS]
is_sorted_uniq = lambda l, key: all(key(x) < key(y) for x, y in zip(l, l[1:]))
words = (w.rstrip() for w, vowels
in ((w, get_vowels(w)) for w in open('russian.txt').readlines())
if sum(vowels.count(x) + vowels.count(y) == 1 for x, y in PAIRS) == 5
and is_sorted_uniq(vowels, key=VOWELS.index))
for word in words:
print(word)