Я хочу посчитать количество каждого слова в файле и пытаюсь записать его в виде однострочного кода, но получаю неверную синтаксическую ошибку и не понимаю, почему или как ее изменить.
мой код:
def print_words(filename):
my_file = open(filename, 'r')
word_dict = {}
for line in my_file:
line.lower()
words_in_line = line.split(" ")
word_dict[word] += 1 if word_dict.get(word) else word_dict[word] = 0
for word in words_in_line
сообщение об ошибке:
word_dict[word] += 1 if word_dict.get(word) else word_dict[word] = 0 for word in words_in_line
^
SyntaxError: invalid syntax
Я также попытался написать его немного по-другому (код будет следовать), но все равно получил ту же ошибку,но когда я удалил «= 0», синтаксис был в порядке (когда я удалил его из оригинального лайнера, синтаксис все еще был инвазирован).
my_file = open(filename, 'r')
word_dict = {}
for line in my_file:
line.lower()
words_in_line = line.split(" ")
for word in words_in_line:
word_dict[word] += 1 if word_dict.get(word) else word_dict[word] = 0