我是一名帮助翻译的助手。以下是需要翻译的内容:
我正在尝试编写程序的一部分,用户输入目标单词(targetWord = input()
),然后分配一个嵌套字典,键与输入单词相同。
例如:
mainDict = {
'x': {'one': 1, 'blue': 1, 'green' :1},
'y': {'red': 1, 'blue': 2, 'two': 1},
'z': {'one': 1, 'green': 1, 'red': 1}
}
其中嵌套字典中的所有值都被分配了整数。
用户可以输入'x'
,程序将会分配:
targetDict = mainDict['x']
接下来,程序应该允许用户再次输入单词,但是这一次,所有从输入中获取的单词都将被附加到查找列表中,例如用户输入了'y'
,然后输入了'z'
:
lookup = ['y', 'z']
然后程序应该遍历嵌套字典,并为每个与targetDict
相应键对应的值仅追加值到新的嵌套列表中,并添加嵌套字典值的任何值。因此,这个部分的输出应该是:
targetOutput = [[2], [1, 1]]
因为在嵌套字典'y'中,只有'blue'是一个共同的键,它的值2被放入列表中,然后附加到'targetOutput'上。在字典'z'中也是同样的情况,键'one'和'green'同时出现在'x'和'z'中,将它们的值1和1放入嵌套列表中。
这是我现有的有问题代码的表示:
targetOutput = []
targetDict = mainDict[targetWord]
for tkey in targetDict:
tt = []
for word in lookup:
for wkey in primaryDict[word]:
if tkey == wkey:
tt.append(targetDict[tkey])
tl.append(sum(tt))
print((pl))
最后的sum函数是因为我实际上最终输出应该是嵌套列表中值的总和,类似于:
tl = [[2], [2]]
我也试图做出相反的操作,在另一个列表中,对于查找表中的每个键,它返回一个嵌套列表,其中包含目标字典中也有键的每个值的总和,如下所示:
ll = [[2], [2]]
我的问题是,如何修复我的代码,使其输出上述两个列表?我对字典的使用还很陌生。