我嘗試合併兩個詞典以適合稍後進行發佈時出現問題。出於某種原因,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)
網絡:
{u'_ref': u'ref number',
u'comment': u'Name of object',
u'extattrs': {u'Network-Type': {u'value': u'Internal'},
u'Stuff-Id': {u'value': 110},
u'Stuff-Name': {u'value': u'Name of object'}},
u'network': u'Subnet-A',
u'network_view': u'default'}
default_keys:
default_keys = {'status':'Active',
'group':None,
'site':'City-A',
'role':'Production',
'description':None,
'custom_fields':None,
'tenant':None}
post_dict:
{'name': {u'value': u'Name of object'},
'sid': {u'value': 110}}
所以,我想才達到是擺脫嵌套鍵(內鍵「名稱」和「SID」,所以鍵和值P空氣應該是「名稱:物體名稱」和「sid:110」
後置功能尚未定義。
試着只發布重現問題所需的代碼。 '打破'在網絡中的蟒蛇循環網絡',只是給了我們'網絡','post_dict'和'default_keys'確切的字典 –
清理了代碼 – Kirke