[英]reorder dictionary inside of nested dictionary based on key
I have the below list of dictionary: 我有以下字典清单:
test = [{'Date': datetime.datetime(2017, 12, 26, 0, 0),'Visitors': [{u'Owner_Name': u'Ashish Bainade', u'Unit_ID': u'1000', u'ID': u'Ashish ainade 119', u'In_Time': datetime.datetime(2017, 12, 26, 12, 13), u'Wing': u'Z'},{u'Owner_Name': u'Ashish Bainade', u'Unit_ID': u'102', u'ID': u'6976', u'In_Time': datetime.datetime(2017, 12, 26, 13, 15), u'Wing': u'B'}]}]
I want to order the sub-dictionary Visitors
by key In_Time
in descending order like below 我要订购子字典
Visitors
通过关键In_Time
在像下面降序
test = [{'Date': datetime.datetime(2017, 12, 26, 0, 0),'Visitors': [{u'Owner_Name': u'Ashish Bainade', u'Unit_ID': u'102', u'ID': u'6976', u'In_Time': datetime.datetime(2017, 12, 26, 13, 15), u'Wing': u'B'},{u'Owner_Name': u'Ashish Bainade', u'Unit_ID': u'1000', u'ID': u'Ashish ainade 119', u'In_Time': datetime.datetime(2017, 12, 26, 12, 13), u'Wing': u'Z'}]}]
I am trying to go down this approach : from operator import itemgetter
我正在尝试这种方法:
from operator import itemgetter
But I am Unable to get the desired output , is there any way or suggestion that can help me ? 但是我无法获得所需的输出,是否有什么方法或建议可以帮助我?
Any Help is appreciated. 任何帮助表示赞赏。
Just sort the sub-dictionary Visitors
and assign it back. 只需对子词典
Visitors
排序,然后将其分配回来。
test[0]['Visitors'] = sorted(test[0]['Visitors'], key = lambda x: x['In_Time'], reverse = True)
If you want to use itemgetter
: 如果要使用
itemgetter
:
from operator import itemgetter
test[0]['Visitors'] = sorted(test[0]['Visitors'], key=itemgetter('In_Time'), reverse=True)
Input: 输入:
[{'Date': datetime.datetime(2017, 12, 26, 0, 0),
'Visitors': [{u'ID': u'Ashish ainade 119',
u'In_Time': datetime.datetime(2017, 12, 26, 12, 13),
u'Owner_Name': u'Ashish Bainade',
u'Unit_ID': u'1000',
u'Wing': u'Z'},
{u'ID': u'6976',
u'In_Time': datetime.datetime(2017, 12, 26, 13, 15),
u'Owner_Name': u'Ashish Bainade',
u'Unit_ID': u'102',
u'Wing': u'B'}]}]
Output: 输出:
[{'Date': datetime.datetime(2017, 12, 26, 0, 0),
'Visitors': [{u'ID': u'6976',
u'In_Time': datetime.datetime(2017, 12, 26, 13, 15),
u'Owner_Name': u'Ashish Bainade',
u'Unit_ID': u'102',
u'Wing': u'B'},
{u'ID': u'Ashish ainade 119',
u'In_Time': datetime.datetime(2017, 12, 26, 12, 13),
u'Owner_Name': u'Ashish Bainade',
u'Unit_ID': u'1000',
u'Wing': u'Z'}]}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.