如何将python中的2个字典与其键相匹配?

问题描述 投票:0回答:3

这是我的2个词典:

dictName={5159:'Cube',1007455:'Subdivision Surface'}
dictObj={5159: 7,1007455: 2}

我想得到的结果是:

立方体:7,细分曲面:2

我无法想象如何用他们的钥匙实现这一目标。

python-2.7
3个回答
1
投票
>>> for k,v in dictName.iteritems():                                                                                                                                          
...    result[v] = dictObj[k]                                                                                                                                                    
...                                                                                                                                                                              
>>> result                                                                                                                                                                       
{'Cube': 7, 'Subdivision Surface': 2}                                                                                                                                            
>>>                                             

0
投票

你可以这样做:

dictName={5159:'Cube',1007455:'Subdivision Surface'}
dictObj={5159: 7,1007455: 2}

for k, v in dictName.items():
  if k in dictObj:
    print(f'{dictName[k]}: {dictObj[k]}')

并为Python 2(阅读问题后):

dictName={5159:'Cube',1007455:'Subdivision Surface'}
dictObj={5159: 7,1007455: 2}

for k, v in dictName.iteritems():
  if k in dictObj:
    print '%s : %s' % (dictName[k], dictObj[k])

..还会发现两个词典中密钥不相互关联的任何问题。


0
投票

列表理解更快更容易:

solution = {dictName[key_name]:dictObj[key_obj]
            for key_name in dictName.keys() for key_obj in dictObj.keys()
            if key_name == key_obj}

更新:您需要检查相同的名称,因此,双列表理解。

© www.soinside.com 2019 - 2024. All rights reserved.