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

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

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

尝试这个:

mydict = {'Rust': {'definition':'rusts definition'},          'Iron': {'definition':'iron definition'},          'Pyrite': {'definition':'pyrite definition'}}myorder = ['Pyrite', 'Rust', 'Iron']from collections import OrderedDictordered = 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存