-2
我试图建立一个结合两个字典的函数。这应该很容易,但有一个问题。Python-从两个字典中的匹配键获取信息?
给定两个字典:
info_format_dict={ name: (id, type1, type2, generation, legendary),
'Bulbasaur': (1, 'Grass', 'Poison', 1, False), 'Charmander': (4,
'Fire', None, 1, False)}
stats_format_dict={ id: (hp, attack, defense, speed),1: (45, 49, 49,
45)}
我一定要结合字典只有在ID号中都发现。所以在这个例子中,从info_format_dict'Bulbasaur'有id 1和stats_format_dict,1是id号。他们匹配。然后,我必须将该项目添加到以下格式的新词典中:
new_dict={"Bulbasaur": (1, "Grass", "Poison", 45, 49, 49, 45, 1,
False)}
任何其他没有匹配的项目只会被丢弃。我创建的函数将字典变成列表进行比较,但是一旦找到匹配项,我就会陷入如何进行实际组合。我如何做实际的组合,并检查是否正确?
这里是我的代码:
def combine_databases(info_format_dict,stats_format_dict):
statskeyslist=[]
idnums=[]
for key,values in info_format_dict.items():
idnum=values[0]
idnums.append(idnums)
for keys in stats_format_dict:
stats_key=keys
statskeyslist.append(keys)
for item in statskeyslist:
if item in idums:
#combine them into a dictionary
建议?解决方案?
以何种顺序?在键之前还是之后? – kg123
那么,什么是有道理的?你知道如何将一个项目添加到字典中吗?试试看看会发生什么。 – nimish