Élément de la fréquence de comptage en Python

Supposons que j'ai une liste de mots, et je veux savoir le nombre de fois que chaque mot apparaît dans la liste.

D'une manière évidente de le faire est:

words = "apple banana apple strawberry banana lemon"
uniques = set(words.split())
freqs = [(item, words.split().count(item)) for item in uniques]
print(freqs)

Mais j'ai trouver ce code n'est pas très bonne, parce que le programme s'exécute par le biais de la liste de mots à deux reprises, une fois pour construire le jeu, et une deuxième fois pour compter le nombre d'apparitions.

Bien sûr, je pourrais écrire une fonction à exécuter par le biais de la liste et de faire le compte, mais qui ne serait pas si Pythonic. Alors, est-il plus efficace et Pythonic façon?

InformationsquelleAutor Daniyar | 2009-05-21