Я новичок в python, поэтому, возможно, мой вопрос очень нуб. Предположим, у меня есть список слов, и я хочу найти количество раз, когда каждое слово появляется в этом списке. Очевидный способ сделать это:значение частоты элементов в python
words = "apple banana apple strawberry banana lemon"
uniques = set(words.split())
freqs = [(item, words.split.count(item)) for item in uniques]
print(freqs)
Но я нахожу этот код не очень хорошо, потому что таким образом программа работает через слова список дважды, один раз построить множество, и второй раз подсчета числа появлений. Конечно, я мог бы написать функцию для запуска списка и выполнить подсчет, но это было бы не так pythonic. Итак, есть ли более эффективный и питонический путь? (. Зацикливание по списку увеличивающимся правильный Dict ключ)
Не в два раза, это выглядит как сложность O (N * N) – Drakosha
@ Drakosha: Согласитесь, я тоже это видел. –
Да, сложность O (n^2), но сам список запускается дважды. – Daniyar