Предположим, у меня есть список слов, и я хочу узнать, сколько раз каждое слово появляется в этом списке.
Очевидный способ сделать это:
words = "apple banana apple strawberry banana lemon"
uniques = set(words.split())
freqs = [(item, words.split().count(item)) for item in uniques]
print(freqs)
Но я нахожу этот код не очень хорошим, потому что программа запускает список слов дважды, один раз, чтобы построить набор, и второй, чтобы посчитать количество появлений.
Конечно, я мог бы написать функцию для запуска списка и подсчета, но это не было бы так Pythonic. Итак, есть ли более эффективный и Pythonic способ?