您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何基于数组重新排序python命令字典?

如何基于数组重新排序python命令字典?

尝试这个:

mydict = {'Rust': {'deFinition':'rusts deFinition'},
          'Iron': {'deFinition':'iron deFinition'},
          'Pyrite': {'deFinition':'pyrite deFinition'}}

myorder = ['Pyrite', 'Rust', 'Iron']

from collections import OrderedDict

ordered = OrderedDict()
for k in myorder:
    ordered[k] = mydict[k]

甚至更短:

ordered = OrderedDict((k, mydict[k]) for k in myorder)

使用上面的代码片段,ordered将包含与相同的键/值mydict,但它们将以所指定的相同顺序插入myorder。这是优点OrderedDict:对其进行迭代时,它将保留插入顺序。

无法就地对现有字典进行排序(嗯,您 可以 提取所有键值对,消除它们,然后以正确的顺序再次添加它们,但这不是这个主意,对吗?),有必要创建一个新的…或者只是以指定的顺序遍历现有字典:

for k in myorder:
    x = mydict[k] # do something with x
python 2022/1/1 18:34:59 有217人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶