簡體   English   中英

使用Python3.x中的鍵值對DefaultDict()進行排序

[英]Sorting DefaultDict() using key values in Python3.x

我有一個包含值的字典

DefaultListOrderedDict([('29.970', [1, 0, 0, 0, 0]), ('100.000', [0, 1, 0, 0, 1]), ('200.000', [0, 0, 1, 0, 0]), ('60.000', [0, 0, 0, 1, 0]), ('0.750', [0, 0, 1, 0, 0]), ('25.000', [0, 0, 0, 0, 1]), ('48.000', [0, 0, 1, 0, 0])])

我想按值對它進行排序

我嘗試for k,v in sorted(Dict.items(),reverse = True):

但是排序按以下順序進行:

   ['0.750', '100.000', '200.000', '25.000', '29.970', '48.000', '60.000']

我不明白其背后的原因。 我想知道如何將其排序為:

   ['0.750', '25.000', '29.970', '48.000', '60.000', '100.000', '200.000']

您應該將鍵轉換為浮點型:

OrderedDict(sorted(your_dict.items(), key=lambda item: float(item[0])))

暫無
暫無

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

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