所以我想知道,对于我现在实现的合并有序dict值的方法,是否有一个更优雅的解决方案
我有一个像这样的有序字典
'fields': OrderedDict([
("Sample Code", "Vendor Sample ID"),
("Donor ID", "Vendor Subject ID"),
("Format", "Material Format"),
("Sample Type", "Sample Type"),
("Age", "Age"),
("Gender", "Gender"),
("Ethnicity/ Race", "Race"),
]),
如果我传入一个像so这样的参数作为一个列表
^{pr2}$有没有一种优雅的方法可以将这些值合并到一个新的键下
[2,3], "Random_Key"
会回来的
'fields': OrderedDict([
("Sample Code", "Vendor Sample ID"),
("Donor ID", "Vendor Subject ID"),
**("Random Key", "Material Format Sample Type"),**
("Age", "Age"),
("Gender", "Gender"),
("Ethnicity/ Race", "Race"),
]),
同时删除字典中的键?在
您可以通过对索引进行降序排序来优化这一点,然后可以使用
dict.pop(key,None)
立即检索并删除键/值,但我决定不这样做,按照indices
中出现的顺序追加值。在输出:
^{pr2}$不知道有没有优雅的方式。
OrderedDict
有一个move_to_end
方法在开始或结束时移动关键点,但不是在随机位置。在我会尽量提高效率,尽量减少循环次数
d
项创建列表OrderedDict
像这样(我删除了一些键,因为它缩短了示例):
结果:
这也可以很好地与发电机。在
如果不必压缩键项对,则此生成器将生成键项对;如果已压缩,则将项保存到最后一个项,然后生成它,并将新键与保存的项联接起来。在
有了这个生成器,就可以构造一个新的有序dict。在
相关问题 更多 >
编程相关推荐