![](/img/trans.png)
[英]Python34: Using Dictionary Comprehension to Copy Values form one list of dictionaries to another
[英]python, selectively pop values from one dictionary into another using comprehension
如何在此将此函数转换为字典理解? 可能吗?
info['dict1'] = {}
dict2 = {'one': 1}
for x in ['one', 'two']:
info['dict1'].update({x:dict2.pop(x, None)})
这是我尝试过的效果不佳的东西,似乎什么也没发生。 信息为空:
(info['dict1'].update({x:dict2.pop(x)}) for x in ['one', 'two'])
打印输出显示信息保持空白... {'dict1': {}}
当然是啦:
info['dict1'] = {x: dict2.pop(x, None) for x in ['one', 'two']}
不要将理解用于副作用; 他们首先产生列表,集合或字典。 在上面的代码中,字典理解产生了一个新的info['dict1']
字典对象。
如果必须更新现有字典,请将dict.update()
与生成键值对的生成器表达式一起使用:
info['dict1'].update((x, dict2.pop(x, None)) for x in ['one', 'two'])
您可以使用键通过dict创建info
,并使用dict comp ad作为值。
dict2 = {'one': 1}
info = {'dict1': {x: dict2.pop(x, None) for x in ['one', 'two']} }
print(info)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.