이것은 한 줄만큼 간단합니다 dict 이해율입니다. 여기
>>> {k : {d1[k] : d2[k]} for k in d1.keys() & d2.keys()}
{
"key_2": {
"BR": " signinfication of BR"
},
"key_1": {
"AR": "signinfication of AR"
},
"key_3": {
"CR": " signinfication of CR"
}
}
는 d1
및 d2
은 두 개의 사전입니다. d1.keys() & d2.keys()
은 사전 키에 교차를 수행하여 두 사전에있는 키에 대해 반복이 수행되도록합니다. 여기에
d1.keys() & d2.keys()
{'key_1', 'key_2', 'key_3'}
두 사전이 모두 똑같은 키를 가질 수 있다고 보장 할 수없는 경우 일반적인 의미로 사용하는 것이 좋습니다. keys()
이 목록을 반환하기 때문에
python2.7에
세 이상, 당신은 약간의 수정이 필요 것입니다.
>>> d1
{
"key_1": [
"AR",
"BR",
"CR"
],
...
}
>>> d2
{
"key_1": [
"signfication of AR",
"signfication of BR",
"signfication of CR"
],
...
}
>>> {k : dict(zip(d1[k], d2[k])) for k in d1.keys() & d2.keys()}
{
"key_1": {
"BR": "signfication of BR",
"CR": "signfication of CR",
"AR": "signfication of AR"
},
"key_3": {
"CE": " signfication of CE",
"AE": "signfication of AE",
"BE": " signfication of BE"
},
"key_2": {
"BZ": "signfication of BZ",
"CZ": "signfication of CZ",
"AZ": "signfication of AZ"
}
}
당신이 키가 같은 순서로 모두 dicts에서 반환되는 것을 보장 할 수 있습니까? –
@ cᴏʟᴅsᴘᴇᴇᴅ 흠 나는 그것을 생각하지 않았다, 미안. 나는 OP가 당신의 대답에 당신의 권고를 단지 사용할 수 있다고 생각합니다. 나는 이것을 어떻게해서든지 추가 할 것이다, 고마워. – RoadRunner
그것을 보장하는 것은 큰 문제가 아니며 단지'sorted '를 호출하면 작동 할 수 있습니다. Upvoted, 환호. –