作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 4 个字典,我们称它们为:
dict1
、dict2
、dict3
、dict4
示例:
dict1 = {'A': 1, 'B':2}
dict2 = {'A': 3, 'C':4}
dict3 = {'B': 5, 'D':6}
dict4 = {'A': 7, 'B':8, 'C': 9, 'D':10, 'E':11}
每个词典级别都比其后的级别“更强”。例如,就优先级而言,在 dict1
中找到的 A
将比在 dict2
中找到的 A
“更强”。是否有一个简短、优雅的脚本来创建一个由所有四个字典组合而成的新字典,其中每个键都取自包含该键的“最强”字典?
结果应该是:dict = {'A':1, 'B':2, 'C':4, 'D:6', 'E':11}
最佳答案
我认为这里最简单/最清晰的方法是创建一个新字典,然后使用它的 update
方法,该方法会覆盖现有的键。像这样的事情使得优先级非常明显:
>>> x = {}
>>> x.update(dict4)
>>> x.update(dict3)
>>> x.update(dict2)
>>> x.update(dict1)
>>> x
{'A': 1, 'B': 2, 'C': 4, 'D': 6, 'E': 11}
您当然可以为此创建某种实用程序,例如:
>>> def collapse(*dicts):
... x = {}
... for dict in dicts:
... x.update(dict)
... return x
...
>>>
>>> collapse(dict4, dict3, dict2, dict1)
{'A': 1, 'B': 2, 'C': 4, 'D': 6, 'E': 11}
(尽管您需要记住以正确的顺序传递字典。)
关于python - 按层次结构从许多字典中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957408/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!