Python-将列表的字典值相乘,然后将结果存储回另一个字典中



我有这个问题:两个字典,一个"dicT";而另一个";字典";。我想把";dicT";获取列表(listT(,并将结果存储回字典中,其中包含dicT的关键字。有什么想法吗?

我想做以下事情:

for i in dPdT:
for value in dicT.values():
if not i in dictionary:
dictionary[i] = []
dictionary[i].append(i*value)

但它最终会出现以下回溯消息:

Traceback (most recent call last):
File "isochore.py", line 197, in <module>
main()
File "isochore.py", line 164, in main
dictionary[i].append(i*value)
TypeError: can't multiply sequence by non-int of type 'float'

谢谢!

你能举一个数据的例子吗?你希望它做什么?当你把i*值相乘,而你认为i也是一个键,也许是字母数字时,你会期望什么?这也是您得到的错误代码。

我试着猜测,请提供实际数据,因为我不明白你想做什么?这提供了列表l中的所有值乘以l的值,所以基本上是**2?

oldDictionary = {1: 10,2: 20}
L =[0, 2]
newDictionary = {}
for i in L:
if i in oldDictionary:
newDictionary.update({i: oldDictionary.get(i) * i})
print(newDictionary)
{2: 40}

最新更新