【发布时间】:2017-06-06 20:13:20
【问题描述】:
编写一个程序来通读 mbox-short.txt 并计算出每条消息在一天中每小时的分布情况。您可以通过查找时间然后使用冒号再次拆分字符串来从“From”行中提取小时。
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
当您累积了每小时的计数后,打印出按小时排序的计数,如下所示。 预期输出:
04 3
06 1
07 1
09 2
10 3
11 6
14 1
15 2
16 4
17 2
18 1
19 1
代码:
fname = raw_input('Enter file name: ')
fhand = open(fname)
c = dict()
for line in fhand:
if not line.startswith('From ') : continue
pieces = line.split()
time = pieces[5]
parts = time.split(':')
hour = parts[0]
c[hour] = c.get(hour,0) + 1
lst = list()
for key in c:
value = c[key]
lst.append( (value, key) )
lst.sort()
for value, key in lst:
print key, value
我得到的输出
06 1 ← Mismatch
07 1
14 1
18 1
19 1
09 2
15 2
17 2
04 3
10 3
16 4
11 6
【问题讨论】:
-
您的问题标题可以大大改进。单从标题来看,很明显这个问题以后不会让任何人受益。
-
欢迎来到 Stack Overflow!看起来你正在寻求家庭作业帮助。虽然我们对此本身没有任何问题,但请注意这些dos and don'ts,并相应地编辑您的问题。
标签: python python-2.7 sorting