gpt4 book ai didi

Python字典: If the keys are the same multiply the values

转载 作者:太空宇宙 更新时间:2023-11-03 14:49:49 27 4
gpt4 key购买 nike

我有两本字典,一本在代码主体中,一本在输入中。我想比较两个字典,如果键相同,我想相乘并打印值。下面是我迄今为止编写的代码。

dict_a = {
'r':100,
'y':110,
'a':210
}

print('Enter The Number Of Items You Wish To Input')

n = int(input())
dict_y={}
print('Enter your dictionary')
dict_y = [ map(str, input().split()) for x in range(n)]

total = []

for word, number in dict_y:
if word in dict_a.keys():
prod = dict_y[number] * dict_a[number]
print(prod)

我不断收到同样的错误,但不知道为什么:

           prod = dict_a[number] * dict_y[number]
TypeError: 'set' object is unsubscriptable

示例输入为:

r 10
y 5
a 20

所需的输出将是

1000
550
210

我非常感谢您能给我的任何帮助,提前谢谢您:)

最佳答案

您应该使用字典理解而不是列表理解:

dict_y = [ map(str, input().split()) for x in range(n)]

将“[...]”替换为“{...}”。

所以:

dict_y = {map(str, input().split()) for x in range(n)}

下一个问题是您尝试调用列表,但它不可调用!如果你想迭代列表(它的目的地是字典,而不是列表,但我之前解释过),请使用:

for word, number in dict_y.items():

有关 dict-comps 的更多信息,请查看该文档:https://www.python.org/dev/peps/pep-0274/

关于Python字典: If the keys are the same multiply the values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45948979/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com