我遇到了一个问题,我想重新排列字典键的顺序。我有一个数组,其中有
我想要改变dict_result[name]嵌套键的顺序,使其看起来像这样:
env = [key1, key2, key3]
,然后在循环中这些键从数组中获取,并被传递给字典 dict_result。尽管我没有使用任何排序函数,但字典 dict_result 根据 key1、key2和key3的名称的字母顺序显示了这些 env 键的顺序,格式如下:{'name': {'key2': [val1, val2, val3], 'key1': [], 'key3': [val1, val2]},
'name1': {'key2': [val1, val2, val3], 'key1': [], 'key3': [val1, val2]},
...
}
for k in dict_result['name'].keys():
//performing checks
我想要改变dict_result[name]嵌套键的顺序,使其看起来像这样:
{'name': {'key3': [val1, val2]}, 'key2': [],'key1': [val1, val2, val3]}
我尝试了使用内置函数reversed(),但它似乎创建了一个迭代器,这改变了我现有代码中的某些逻辑,以及正在遍历这些字典环境键并根据其值执行检查/验证的for循环。
我现在明白了,普通的字典不会跟踪插入顺序,并且对其进行迭代会以任意顺序给出值。
如果有更简单的方法可以按照从数组中输入的顺序,即key1、key2、key3来让字典使用这些env keys,或者将其反转为key3、key2、key1,请帮忙指导。但是不想按照实际键名按字母顺序显示。