我有一个单词列表:
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,优雅而高效吗?
你能做得更好吗?
提前致谢.