Python 如何按字母顺序对词典排序?
我正在做一个练习,给定一个CSV文件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
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()):打印每个,计数[每个]…吉姆·丹尼斯谢谢你…:)