python字典键值比较和存储

时间:2016-04-14 09:22:51

标签: python dictionary

我有两个字典:

A = {
    "Name": ["AAAAA"],
    "designation": ["DDDDDDD"],
    "doj": ["KKKKKK"],
    "RRRRRRRR": ["JJJJJJ"]
}



 B = {
        {
    u'IIIIII': u'200',
    u'KKKKKK': u'1/1/2015',
    u'JJJJJJ': u'legal',
    u'HHHHHH': u'John'
}{
    u'AAAAA': u'Stacie',
    u'DDDDDDD': u'6/8/2014',
    u'BBBB': u'2/9/1988',
    u'CCCCCCC': u'legal'
}
    }

我必须取A的值并与B的键进行比较,如果名称匹配,我应该从B得到key的值并存储。像

这样的东西
{
    "Name": ["John"],
    "designation": ["12/02/2016"],
    "doj":["Manager"]
}

我试图循环两个然后尝试使用get方法将值附加到dict项目但是无法实现目标。

for key,value in content.iteritems():
    #print value    
    if isinstance(value, list):
        vals.append(key)
        for i in value:
            ii=0
            #while(ii<len(z)):  
            if (z.get(i)== 'true' ) :           
                vals.append(z.get(i))

1 个答案:

答案 0 :(得分:0)

此解决方案正在考虑问题中提供的AB的值:

z = {}
for k, v in A.items():
    av = B.get(v[0], None)
    if av is not None:
        z[k] = av

print(z)
# {'Name': ['John'], 'designation': ['12/02/2016'], 'doj': ['Manager']}

或者,一个班轮:

z = {k: B[v[0]] for k, v in A.items() if v[0] in B}
# {'Name': ['John'], 'designation': ['12/02/2016'], 'doj': ['Manager']}