相关疑难解决方法(0)

有没有办法使用另一个dict在Python dict上设置多个默认值?

假设我在Python中有两个dicts:

mydict = { 'a': 0 }

defaults = {
    'a': 5,
    'b': 10,
    'c': 15
}
Run Code Online (Sandbox Code Playgroud)

我希望能够mydict使用默认值进行扩展defaults,这样'a'保持不变,但'b'和'c'被填充.我知道dict.setdefault()并且dict.update(),但每个只做我想要的一半 - 用dict.setdefault(),我必须遍历每个变量defaults; 但随着dict.update(),defaults将吹走任何预先存在的价值观mydict.

是否有一些我没有在Python中内置的功能可以做到这一点?如果没有,是否有更多Pythonic方式编写循环来重复调用,而dict.setdefaults()不是:

for key in defaults.keys():
    mydict.setdefault(key, defaults[key])
Run Code Online (Sandbox Code Playgroud)

上下文:我在Python中编写了一些控制如何解析XML树的数据.每个节点都有一个dict(即,如何处理每个节点),我宁愿我写的数据是稀疏的,但是用默认值填充.示例代码只是一个示例...实际代码在默认dict中有更多的键/值对.

(我意识到整个问题只是一个小小的狡辩,但它一直困扰着我,所以我想知道是否有更好的方法来做到这一点,我不知道.)

python dictionary

8
推荐指数
4
解决办法
3458
查看次数

标签 统计

dictionary ×1

python ×1