簡體   English   中英

Python字典排序

[英]Python Dictionary Sorting

我有一本字典,我想根據它的鍵對它進行排序。 盡管我沒有錯誤,但是我的鍵值(日期)未排序。

如果有人可以幫助我,我會很高興。 謝謝。

    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']

我相信改變

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") ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM