Python 如何按字母顺序对词典排序?

Python 如何按字母顺序对词典排序?,python,Python,我正在做一个练习,给定一个CSV文件message.CSV(其前三行显示在下面),我需要编写一个程序来计算来自每个发件人的邮件数,然后按发件人的字母顺序打印输出 发送者,消息 “你好!” “计算太难了!” 这就是我迄今为止所尝试的: from collections import defaultdict import csv counting = defaultdict(int) for row in csv.reader(open(message.csv)): counting[row

我正在做一个练习,给定一个CSV文件
message.CSV
(其前三行显示在下面),我需要编写一个程序来计算来自每个发件人的邮件数,然后按发件人的字母顺序打印输出

发送者,消息
“你好!”
“计算太难了!”

这就是我迄今为止所尝试的:

from collections import defaultdict
import csv
counting = defaultdict(int)
for row in csv.reader(open(message.csv)):
    counting[row[0]] += 1

我一直在想如何继续。

您的代码似乎假定每行的第一个值是发送方,但您提供给我们的.csv文件的3行不符合此要求

根据csv文件的实际前3行,我将执行以下操作:

sender = None
for row in csv.reader(open(message.csv)):
    if len(row) == 2:
        sender = row[0]
    counting[sender] += 1
正如Jim Dennis所说,但您不应该显式调用.keys():

for sender in sorted(counting):
    print sender, counting[sender]

在这之后,尝试以下操作:为排序中的每个(counting.keys()):打印每个,计数[每个]…吉姆·丹尼斯谢谢你…:)