【发布时间】:2019-12-12 10:00:28
【问题描述】:
我正在尝试构建一个简单的程序来计算特定小时内文件中的条目数。我的目标是 txt 文件中时间戳的小时部分并计算每一个。这一切都很好,但是当我打印结果时,我希望它从 00、01 等到 22、23 的时间排序。
这是我的代码:
hour = []
for x in hour:
hour.append(x[10:12]) #To get just the hour-part of the timestamp.
hour_sorted = (sorted(hour)) #Now the hours are sorted from 00 to 23, all good so far.
counts = Counter(hour_sorted)
for number in counts:
if number in counts:
print(number + ' ' + str(counts[number]))
问题是现在打印所有时间都乱序了。
输出示例:
10 3
00 2
12 2
21 3
等等。我想要这样:
00 2
10 3
12 2
21 3
任何想法我做错了什么?
【问题讨论】:
-
嘿,你能指定你使用的是哪个版本的 Python 吗?
collections.Counter是一个字典对象,它的排序在 python 2 和 3 之间发生了很大变化 -
另外,我认为
for循环中的if条件是多余的。
标签: python