如何添加新密钥并匹配python中字典字典中的现有值?

时间:2017-04-04 02:43:29

标签: python dictionary

以下是合并过程后获得的输出。

  

{

     

u'a '{u'id'[u'VPH65848HI '],u'social_links'[“linkedin_link”,” facebook_link”],

     

u'b '{u'id'[u'VPH65848HJ '],u'social_links'[“linkedin_link”,” facebook_link”]

     

}

我想要的输出是

  

{

     

u'a':{u'id':[u'V-PH65848HI'],u'social_links':{'linkedin':['linkedin_link'],'facebook:['facebook_link']}},

     

u'b':{u'id':[u'V-PH65848HJ'],u'social_links':   {“LinkedIn”:[“linkedin_link”],” Facebook的:[” facebook_link”]}}

     

}

以下是代码:

for k,v in result.items():
    if v['social_links']:           
        for v1 in v['social_links']:
            if "facebook" in v1:
                result['facebook']=result['social_links'][1]

我不知道如何处理这个问题。请帮忙!提前致谢。

1 个答案:

答案 0 :(得分:0)

您似乎并未存储所有结果。所以,我将类型更改为其中包含字典的列表。另外,我查看了代码,并且当你已经有一个值循环来查找facebook时它就不依赖于索引。

in1 = {

    u'a':{u'id':[u'VPH65848HI'],u'social_links':['linkedin_link','facebook_link']},

    u'b':{u'id':[u'VPH65848HJ'],u'social_links':['linkedin_link','facebook_link']}

    }

def isset(variable):
    return variable in locals() or variable in globals()

result = []
for k,v in in1.items():
    temp = {}
    for v1 in v[u'social_links'] :
        if "facebook" in v1:
            temp['facebook']=v1
    result.append(temp)
print(result)