Python字典排序

2024-04-20 11:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,我想按它的键来分类。虽然我没有错误,但我的键值(日期)没有排序。你知道吗

如果有人能帮我,我会很高兴的。 谢谢。你知道吗

    d = defaultdict(list)

    for row in rows:
        date = row[0]
        speed = float(row[1])

        if date not in d:
            d[date] = [speed]
        elif date in d:
            speeds = d[date]
            speeds.append(speed)
            d[date] = speeds

        date = d.keys()
        date = sorted(d,key=lambda key:d[key])

        print date

“打印日期”结果:

['2015/01/01 10:04', '2015/01/01 08:40', '2015/01/01 10:14', '2015/01/01 09:56', '2015/01/01 09:54', '2015/01/01 10:08', '2015/01/01 10:06', '2015/01/01 10:10', '2015/01/01 10:16', '2015/01/01 09:52']

Tags: keyinfordate字典排序错误分类
1条回答
网友
1楼 · 发布于 2024-04-20 11:17:41

我相信改变

date = d.keys()

date = sorted( d.keys() )

以及移除

date = sorted(d,key=lambda key:d[key])

应该有用吗?我认为上面这行是按d[key]中的内容排序的,而不是按key。如果不是,按日期时间对象排序也可以:

import datetime
dates = sorted( [datetime.datetime.strptime(i,"%Y/%m/%d %H:%M") for i in d.keys()] )

# to access dictionary values in order:
for date in dates:
    entry = d[ date.strftime("%Y/%m/%d %H:%M") ]

相关问题 更多 >