我有多本字典和一本基本字典。我需要遍历dictionary键,并且需要在每次迭代中检查现有键和新键,但是在每次迭代中,我需要将dictionary的所有以前的键组合起来,并使用当前dictionary键进行检查
dict10 = {'A':1, 'C':2} #base dictionary
dict11 = {'B':3, 'C':4}
dict12 = {'A':5, 'E':6, 'F':7}
这是计算过程
Exist_Score=(dict11.keys()和dict10.keys()中键的值)+(dict12.keys()和dict11.keys()+dict10.keys()中键的值)
新评分=(dict11.keys()-dict10.keys()中键的值)+(dict12.keys()中键的值-(dict11.keys()+dict10.keys()))
我手工计算分数的方法
exist_score = 0
new_score = 0
for key in dict11.keys() & dict10.keys():
exist_score += dict11[key]
for key in dict12.keys() & set(dict11.keys()).union(set(dict10.keys())):
exist_score += dict12[key]
for key in dict11.keys() - dict10.keys():
new_score += dict11[key]
for key in dict12.keys() - set(dict11.keys()).union(set(dict10.keys())):
new_score += dict12[key]
print(exist_score)
print(new_score)
对于给定的例子,分数将
存在分数=4+5
新分数=3+(6+7)
如何实现动态列表数和迭代组合列表以检查键?你知道吗
使用提供的词典,即
我们找到与基本字典相同的键和不在基本字典中的键,然后使用一些组合字典中的键计算分数:
现在,分数是我们所期望的:
代码可以根据需要扩展为更多的字典。你知道吗
编辑:
如果非基词典不一定具有唯一键(即它们可能彼此共享同一键),则可以根据提供的更新代码使用此函数:
现在,当我使用您的词典运行它时,我得到以下结果:
这将适用于动态数量的字典,使用函数头中的
*args
符号。见use of *args and **kwargs。你知道吗相关问题 更多 >
编程相关推荐