假设我有一个包含以下项目的命令字典:
mydict = {'Rust': {'definition':'rusts definition'}, 'Iron': {'definition:'iron definition'}, 'Pyrite': {'definition':'pyrite definition'}}
如果我有一个数组:
myorder = ['Pyrite', 'Rust', 'Iron']
如何重新排序Ordered Dict,以使mydict中的项目基于myorder排序?
尝试这个:
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
问题内容: 我想根据子键key3的值按降序对字典d进行排序。见下文: 所以最终的字典看起来像这样。 我的方法是从d形成另一个字典e,其字典键将是key3的值,然后使用reversed(sorted(e)),但是由于key3的值可以相同,因此字典e丢失了一些键及其值。说得通? 我怎样才能做到这一点?这不是经过测试的代码。我只是想了解逻辑。 问题答案: 字典没有任何固有的顺序。或者,相反,它们的固有顺
有没有更时髦的方法来解决这个问题?
本文向大家介绍如何基于Python实现word文档重新排版,包括了如何基于Python实现word文档重新排版的使用技巧和注意事项,需要的朋友参考一下 介绍 舍友从网上下载的word题库文档很乱,手动改了大半天才改了一点,想起python是大名鼎鼎的自动化脚本,于是乎开始了python对word的一顿瞎操作。 分析需求 对文档中的内容进行分析,只留下题目,选项,并且题号要从1开始。 编写代码 pi
看看下面的伪C++代码: 有两个函数带有参数。参数计数大于三,但为了简单起见,例如设为三。 -它是模板函数,具有与相同的参数计数,并且参数具有与相同的类型。但是(!)参数上的顺序可以(或不能)不同。例如: 那么如何在中重新排序参数,以便使用正确的参数序列调用呢?
我有以下Java POJO 如何实现在游戏对象列表中确定重复字段的功能? 例如,当两个游戏有相同的开始日期? 我以前使用过,但仅在根据最早日期等对对象进行排序时使用过,但它能否用于对重复项进行排序?
问题内容: 我有一个像这样的数组: 我想基于第二元素按降序对其进行排序。理想的输出为: 问题答案: ,接受可选参数。函数用于生成比较密钥。
我正在解决一个问题“编写一个名为splay的函数,根据第一个值重新组织列表。第一个值称为splaymaster。该函数将重新排列列表,使splaymmaster之前的所有值都小于或等于splaymast,之后的所有值均大于splaymMaster。该函数还返回列表被重新排列。例如,如果列表为[8,15,4,48,26,45,18,29,2,1],函数将重新排列为[2,1,4,8,26,4518,2
例如,我有以下数据集: 我需要根据数组中的条件对数组进行排序。我最终得出了这样的解决方案: 但我无法理解如何使用数组而不是硬编码的和属性。数组可以有许多属性。