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