【发布时间】:2015-10-27 19:51:04
【问题描述】:
我正在尝试对文件中的所有单词进行排序并返回前 20 个引用的单词。这是我的代码:
import sys
filename = sys.argv[2]
def helper_function(filename):
the_file = open(filename, 'r')
words_count = {}
lines_in_file = the_file.readlines()
for line in lines_in_file:
words_list = line.split()
for word in words_list:
if word in words_count:
words_count[word.lower()] += 1
else:
words_count[word.lower()] = 1
return words_count
def print_words(filename):
words_count = helper_function(filename)
for w in sorted(words_count.keys()): print w, words_count[w]
def print_top(filename):
words_count = helper_function(filename)
for w in sorted(words_count.values()): print w
def main():
if len(sys.argv) != 3:
print 'usage: ./wordcount.py {--count | --topcount} file'
sys.exit(1)
option = sys.argv[1]
filename = sys.argv[2]
if option == '--count':
print_words(filename)
elif option == '--topcount':
print_top(filename)
else:
print 'unknown option: ' + option
sys.exit(1)
if __name__ == '__main__':
main()
我定义 print_top() 的方式返回 word_count 字典的排序值,但我想打印如下: 词:数
您的建议很有价值!
【问题讨论】:
标签: python sorting dictionary