我正在编写一个Python程序,我需要计算一个文本文件中每个单词的数量。
def count_words(word,d):
for l in word:
if l in d:
d[l] += 1
else:
d[l] = 1
return d
def count_letters():
d = dict()
word_file = open('w.txt')
for line in word_file:
word = line.strip();
d = count_words(word,d)
return d
答案 0 :(得分:2)
您可以轻松地在一个条件下使用反向排序,并通过否定键函数中的int
将其中一个条件转发为int
替换
freq_list.sort()
与
freq_list.sort(key=lambda x:(-x[1], x[0]))
在更一般的情况下,由于Python的排序是 stable ,您可以按第二个键然后第一个键排序
freq_list.sort(key=lambda x:x[0])
freq_list.sort(key=lambda x:x[1], reverse=True)
缺点是你需要做两种,所以它要慢一些