[英]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.