Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 在计算每个字符数之后,我需要对结果进行排序_Sorting_Python 2.7_Counting - Fatal编程技术网

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)
这将有助于: