字典统计排序python123_按值对字典进行排序Python(3级Dict)
考慮使用sorted函數(shù)。使用this作為引用。對(duì)于這種情況,必須使用一個(gè)key函數(shù)來(lái)告訴python如何比較問(wèn)題中字典的兩個(gè)實(shí)體。然后,sorted函數(shù)返回一個(gè)您要迭代的列表。在
例如>>>sorted(student_tuples, key=lambda student: student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
對(duì)于你的案子,你需要從口述中得到項(xiàng)目
編輯:
首先,正如其中一條評(píng)論所說(shuō),在python中不能直接對(duì)dict進(jìn)行排序。我不認(rèn)為你需要的是有條理的口述。只能對(duì)已轉(zhuǎn)換為列表元組的dict進(jìn)行排序。例如{'a':'b','c':'d'},必須先轉(zhuǎn)換為[('a','b'),('c','d')],然后您可以選擇按您的意愿排序。這里的問(wèn)題是一旦你這樣做了,你就不能將它存儲(chǔ)回一個(gè)正常的dict中,原因是正常dict的工作方式不是這樣的。您可以在python集合中使用ordereddict,它“記住”插入的順序,因此是一個(gè)“排序”dict,但是如果不做一些工作,就不能輕松地創(chuàng)建“排序”dict
對(duì)于您的輸入,我的示例中的“b”是一個(gè)dict,因此您必須做一些工作來(lái)獲得所需的密鑰。我假設(shè)你想在每個(gè)'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})])])
總結(jié)
以上是生活随笔為你收集整理的字典统计排序python123_按值对字典进行排序Python(3级Dict)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 内存频率:游戏性能大比拼
- 下一篇: 8款旗舰手机对比评测:全新陶瓷材质、90