如何在Python3中按子关键字日期时间对Dictionary进行排序



我在Stack溢出问题上尝试过所有类似的答案,但都不适用。因为它们都没有这种数据结构。非常感谢您的帮助。

我在python 2上有这个功能,但在python 3上无法实现。

这行代码在python 2中有效,但在python 3.6 中无效

sorted(my_dict.items(), key=lambda x: x[1], reverse=True)

这是字典的样子。我必须对"已更新"的密钥进行排序即my_dict[key_one]['updated'](所以基本上我想要最新的日期在顶部(

my_dict={
'key_one': {
'sub_key_1': {
'bla1': 0,
'bla2': 5,
'bla3': 'sdfsdf'
},
'SubKey2': {
'bla1': 0,
'bla2': 5,
},
'updated': '25-08-2020 14:53:56'
},
'key_two': {
'sub_key_1': {
'bla2': 0,
'bla3': 5,
'bla4': 'sdfsdf'
},
'SubKey2': {
'bla1': 0,
'bla2': 5,
},
'updated': '26-08-2020 14:53:56'
},
'key_three': {
'sub_key_1': {
'bla2': 0,
'bla3': 5,
'bla4': 'sdfsdf'
},
'SubKey2': {
'bla1': 0,
'bla2': 5,
},
'updated': '27-08-2020 14:53:56'
}
}

就像@Gábor:在评论中提到的那样

sorted(my_dict.items(), key=lambda x: x[1]['updated'], reverse=True)

输出:

[('key_three', {'sub_key_1': {'bla2': 0, 'bla3': 5, 'bla4': 'sdfsdf'}, 'SubKey2': {'bla1': 0, 'bla2': 5}, 'updated': '27-08-2020 14:53:56'}), ('key_two', {'sub_key_1': {'bla2': 0, 'bla3': 5, 'bla4': 'sdfsdf'}, 'SubKey2': {'bla1': 0, 'bla2': 5}, 'updated': '26-08-2020 14:53:56'}), ('key_one', {'sub_key_1': {'bla1': 0, 'bla2': 5, 'bla3': 'sdfsdf'}, 'SubKey2': {'bla1': 0, 'bla2': 5}, 'updated': '25-08-2020 14:53:56'})]

相关内容

  • 没有找到相关文章

最新更新