我有一个问题,当我试图合并两个字典,以适合以后发表一篇文章。由于某些原因,get似乎是嵌套的,我不知道如何清理它。如果能得到一些关于优化代码的提示也很好,现在看起来有点乱。在
for network in networks:
post_dict = {e1:e2 for e1,e2 in network['extattrs'].iteritems() if e1 not in keys }
pprint (post_dict['Stuff-Name']['value'])
post_dict['name'] = post_dict.pop('Stuff-Name')
post_dict['sid'] = post_dict.pop('Stuff-id')
dict_to_post = merge_two_dicts(post_dict, default_keys)
网络:
^{pr2}$默认密钥:
default_keys = {'status':'Active',
'group':None,
'site':'City-A',
'role':'Production',
'description':None,
'custom_fields':None,
'tenant':None}
听写后:
{'name': {u'value': u'Name of object'},
'sid': {u'value': 110}}
所以我想实现的是去掉嵌套键(在键“name”和“sid”中),所以键和值对应该是“name:name of object”和“sid:110”
post函数尚未定义。在
要获得任何嵌套字典的第一个值,可以使用
它回来了
^{pr2}$我认为正是这一步首先导致了词典的嵌套
如果只需要字典的值而不需要键,可以在这里尝试popitem()[1]。在
据我所知,你的情况非常具体,我可能会选择一个简单而肮脏的解决方案。首先你试过这个:
其次,如何利用“过滤和重命名”和折叠索引在那里?这是不可取的,但如果你想做一个懒散的工作,这就足够了。我建议你采纳我的第一个建议,因为我相信这会解决你的问题。在
相关问题 更多 >
编程相关推荐