首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用其他字典填充空字典

用其他字典填充空字典
EN

Stack Overflow用户
提问于 2017-03-09 09:02:21
回答 2查看 161关注 0票数 1

我想知道如何用其他字典填充一个空字典,方法如下:

代码语言:javascript
复制
newdict = {}

dict1 = {"key1": "value1"}
dict2 = {"key2": "value2"}
dict3 = {"key3": "value3", "key4": "value4"}

dicts_to_use = [dict1, dict3]

因此,使用一个列表来指定要包括哪些元素,在本例中,newdict应该填充为如下所示:

代码语言:javascript
复制
{'dict1': {'key1': 'value1'}, 'dict3': {'key3': 'value3', 'key4': 'value4'}}

我在查找列表中的字典和跨越字符串/字典类型时遇到了麻烦

EN

回答 2

Stack Overflow用户

发布于 2017-03-09 09:18:29

你不能这么做。不能这样做的原因是因为有no reliable way可以从对象dict1中获取字符串'dict1'

现在,我知道您在实际代码中的变量名称可能与这个简化的示例不同,但是仍然会让您陷入相同的问题:一般来说,一个对象不能告诉您它绑定到的名称。它可能绑定到多个名称,也可能根本不绑定。

您必须重新考虑您对变量名称的处理方法。

票数 2
EN

Stack Overflow用户

发布于 2017-03-09 09:07:31

使用eval。(请注意,我更改了dicts_to_use以包括字典的名称,而不是字典本身...)

代码语言:javascript
复制
>>> newdict = {}
>>> 
>>> dict1 = {"key1": "value1"}
>>> dict2 = {"key2": "value2"}
>>> dict3 = {"key3": "value3", "key4": "value4"}
>>> 
>>> dicts_to_use = ["dict1", "dict3"]
>>> for d in dicts_to_use:
...     newdict[d] = eval(d)
... 
>>> newdict
{'dict1': {'key1': 'value1'}, 'dict3': {'key3': 'value3', 'key4': 'value4'}}
>>> 
票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42684789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档