如何在Python 3中按子键日期时间对字典进行排序

问题描述

我已经对Stack-overflow尝试了所有类似的答案,但没有一个我有用。因为它们都不具有此数据结构。任何帮助都非常感谢。

我已经在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,},'updated': '25-08-2020 14:53:56'
        },'key_two': {
            'sub_key_1': {
                'bla2': 0,'bla3': 5,'bla4': 'sdfsdf'
            },'updated': '26-08-2020 14:53:56'
        },'key_three': {
            'sub_key_1': {
                'bla2': 0,'updated': '27-08-2020 14:53:56'
        }
    }

解决方法

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

<div id="logout-button" v-if="isLoggedIn">
      <button v-on:click="logOut">Log Out</button>
</div>

....


<script>
export default {
  name: "NavigationBar",data: function () {
    return {
      isLoggedIn: false,};
  },mounted() {
    if (localStorage.isLoggedIn !== undefined) {
      this.isLoggedIn = localStorage.isLoggedIn;
    }
  },methods: {
    ...
    logOut: function () {
      localStorage.isLoggedIn = false;
      localStorage.access = null;
      localStorage.refresh = null;
      location.reload();
    },},};
</script>

输出:

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