字典统计排序python123_按值对字典进行排序Python(3级Dict)
考慮使用sorted函數。使用this作為引用。對于這種情況,必須使用一個key函數來告訴python如何比較問題中字典的兩個實體。然后,sorted函數返回一個您要迭代的列表。在
例如>>>sorted(student_tuples, key=lambda student: student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
對于你的案子,你需要從口述中得到項目
編輯:
首先,正如其中一條評論所說,在python中不能直接對dict進行排序。我不認為你需要的是有條理的口述。只能對已轉換為列表元組的dict進行排序。例如{'a':'b','c':'d'},必須先轉換為[('a','b'),('c','d')],然后您可以選擇按您的意愿排序。這里的問題是一旦你這樣做了,你就不能將它存儲回一個正常的dict中,原因是正常dict的工作方式不是這樣的。您可以在python集合中使用ordereddict,它“記住”插入的順序,因此是一個“排序”dict,但是如果不做一些工作,就不能輕松地創建“排序”dict
對于您的輸入,我的示例中的“b”是一個dict,因此您必須做一些工作來獲得所需的密鑰。我假設你想在每個'INT-ABC'的'acc'值之間排序。在
^{pr2}$
鑒于此>>> from collections import OrderedDict
>>> t = OrderedDict()
>>> k_dict.items()[0][0]
'INT-ABC1'
>>> t[k_dict.items()[0][0]] = sorted(k_dict.items()[0][1].items(), key=lambda x: x[1]['val'])
>>> t
OrderedDict([('INT-ABC1', [('acc1', {'Qua': -241.0, 'val': -22313.7381693064}), ('acc2', {'Qua': -13.0, 'val': -1312.940854148})])])
總結
以上是生活随笔為你收集整理的字典统计排序python123_按值对字典进行排序Python(3级Dict)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存频率:游戏性能大比拼
- 下一篇: websocket python爬虫_p