这是我的词典:
{{'count': 5, 'leftCount': 5, 'length': '5', 'submittedTime': 1526815239},
{'count': 10, 'leftCount': 10, 'length': '5', 'submittedTime': 1526814198},
{'count': 5, 'leftCount': 5, 'length': '25', 'submittedTime': 1526815326},
{'count': 8, 'leftCount': 8, 'length': '25', 'submittedTime': 1526815326},
{'count': 5, 'leftCount': 5, 'length': '30', 'submittedTime': 1526815239}}
我想按key =“submittedTime”的值对其进行排序。我不知道如何让它发挥作用。
我尝试了lambda,但我认为我做错了,因为结果完全一样。
答案 0 :(得分:1)
您可能想要使用OrderedDict:
from collections import OrderedDict
d = {0: {'count': 5, 'leftCount': 5, 'length': '5', 'submittedTime':
1526815239},
1: {'count': 10, 'leftCount': 10, 'length': '5', 'submittedTime':
1526814198},
2: {'count': 5, 'leftCount': 5, 'length': '25', 'submittedTime':
1526815326},
3: {'count': 8, 'leftCount': 8, 'length': '25', 'submittedTime':
1526815326},
4: {'count': 5, 'leftCount': 5, 'length': '30', 'submittedTime':
1526815239}}
print(OrderedDict(sorted(d.items(), key=lambda t: t[1]['submittedTime'])))
#OrderedDict([(1, {'count': 10, 'leftCount': 10, 'length': '5', 'submittedTime': 1526814198}), (0, {'count': 5, 'leftCount': 5, 'length': '5', 'submittedTime': 1526815239}), (4, {'count': 5, 'leftCount': 5, 'length': '30', 'submittedTime': 1526815239}), (2, {'count': 5, 'leftCount': 5, 'length': '25', 'submittedTime': 1526815326}), (3, {'count': 8, 'leftCount': 8, 'length': '25', 'submittedTime': 1526815326})])
答案 1 :(得分:1)
尝试使用lambda
d = {0: {'count': 5, 'leftCount': 5, 'length': '5', 'submittedTime':
1526815239},
1: {'count': 10, 'leftCount': 10, 'length': '5', 'submittedTime':
1526814198},
2: {'count': 5, 'leftCount': 5, 'length': '25', 'submittedTime':
1526815326},
3: {'count': 8, 'leftCount': 8, 'length': '25', 'submittedTime':
1526815326},
4: {'count': 5, 'leftCount': 5, 'length': '30', 'submittedTime':
1526815239}}
dd = sorted(d.items(),key=lambda x:x[1]['submittedTime'])