【发布时间】:2011-07-11 12:28:11
【问题描述】:
我有一个单词列表:
words = ['all', 'awesome', 'all', 'yeah', 'bye', 'all', 'yeah']
我想得到一个元组列表:
[(3, 'all'), (2, 'yeah'), (1, 'bye'), (1, 'awesome')]
每个元组在哪里...
(number_of_occurrences, word)
列表应按出现次数排序。
到目前为止我做了什么:
def popularWords(words):
dic = {}
for word in words:
dic.setdefault(word, 0)
dic[word] += 1
wordsList = [(dic.get(w), w) for w in dic]
wordsList.sort(reverse = True)
return wordsList
问题是……
它是 Pythonic、优雅和高效的吗? 你能做得更好吗? 提前致谢。
【问题讨论】: