如何让计数器计算正确的字符串



我正在尝试让计数器计算下面代码中出现最多的日期。

from collections import Counter
with open('dates.json', 'rb') as f:
    data = f.readlines()
c = Counter(data)
print (c.most_common()[:10])

JSON数据存储为类似的列表

["Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016"]

我希望输出与此类似(从另一个程序中获取(

[('Sun Aug 07 02:29:45 +0000 2016', 4), ('Sun Aug 07 02:31:05 +0000 2016', 4), ('Sun Aug 07 02:31:04 +0000 2016', 3), ('Sun Aug 07 02:31:08 +0000 2016', 3), ('Sun Aug 07 02:31:22 +0000 2016', 3)]

但这是我的输出

[(48, 72), (32, 53), (49, 27), (34, 18), (117, 18), (58, 18), (65, 9), (51, 9), (103, 9), (43, 9)]

我真的不明白在计数什么

应该使用readlines()而不是json.load()将JSON数据加载到Python列表中:

import json
with open('dates.json', 'r') as f:
    data = json.load(f)

最新更新