Sorting 在计算每个字符数之后,我需要对结果进行排序
我被卡住了。我正在把一个文本文件输入我的程序。在阅读每个字符(小写+大写=同一个字符)并计数之后,我需要对它们进行排序(从频繁到不频繁)。目前,我正在获取每个字符的结果/计数,但我不知道如何对结果进行排序。我尝试过的任何东西都会把我目前的结果搞砸 我现在有这个:Sorting 在计算每个字符数之后,我需要对结果进行排序,sorting,python-2.7,counting,Sorting,Python 2.7,Counting,我被卡住了。我正在把一个文本文件输入我的程序。在阅读每个字符(小写+大写=同一个字符)并计数之后,我需要对它们进行排序(从频繁到不频繁)。目前,我正在获取每个字符的结果/计数,但我不知道如何对结果进行排序。我尝试过的任何东西都会把我目前的结果搞砸 我现在有这个: import string z = open("file_location", 'r') letters = {} def count_letter(c): if c in letters: letters[c] +=
import string
z = open("file_location", 'r')
letters = {}
def count_letter(c):
if c in letters:
letters[c] += 1 # if letter in letters add one
else:
letters[c] = 1 # if letter not in letters set add letter to dictionary object
def print_letters(letters):
for x,y in letters.items():
print ("%s - [%s]" % (x, y)) # print out count for each letter
#Run code
for line in z: # for each line in input file
for letter in line: # for each letter in line
letter = letter.strip()
letter = letter.lower()
count_letter(letter) # tally a count of each letter
print_letters(letters)
试试这个
letters_sorted = sorted(letters.iteritems(), key=operator.itemgetter(1), reverse=True)
这将有助于: