【发布时间】:2020-02-01 18:41:35
【问题描述】:
我有这本巨大的字典,其中我有一个人的键的键,以及每个人的值列表,这是字典中两个人的示例:
{'NuNu': ['0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '3', '0', '3', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '3', '0', '0', '1', '0', '5', '0', '0', '0', '0', '0', '1', '3', '3', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'], 'Hamza ALi': ['0', '0', '0', '0', '0', '0', '0', '-5', '0', '5', '1', '0', '0', '0', '1', '0', '5', '0', '-3', '0', '3', '0', '0', '0', '0', '0', '0', '-5', '0', '0', '-3', '5', '0', '5', '0', '3', '0', '0', '1', '0', '3', '1', '3', '5', '0', '0', '0', '0', '0', '1', '-5', '0', '0', '0', '0']}
现在,我需要做的是将每个值相乘,例如 0 * 0、0 * 0 等,用于整个值列表,然后将所有值相加。
我已经在另一段代码中完成了这项工作,只是为了两个列表,我将值放入其中。
我不知道如何使用其中包含列表(即值)的字典来做到这一点。
list1 = ['0', '0', '0', '5', '0', '0', '0', '5', '0', '5', '5', '0', '0', '0', '0', '0', '5', '-3', '-3', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '5', '0', '0', '5', '0', '5', '5', '5', '5', '0', '0', '0', '0', '0', '3', '1', '0', '0', '0', '0']
list2 = ['5', '5', '0', '0', '0', '0', '0', '0', '0', '3', '0', '5', '0', '0', '1', '0', '5', '0', '1', '5', '0', '0', '0', '0', '0', '1', '0', '5', '0', '0', '3', '5', '5', '0', '0', '5', '0', '0', '3', '0', '0', '3', '5', '5', '0', '0', '0', '0', '0', '5', '5', '0', '5', '0', '0']
int_list_1 = map(int,list1)
int_list_2 = map(int,list2)
third = map(sum, zip(int_list_1, int_list_2))
product = []
for num1, num2 in zip(int_list_1,int_list_2):
product.append(num1 * num2)
x = sum(product)
print(x)
^ 这为我提供了我需要的正确值,但我需要帮助为字典内的多个列表设置这段代码。
我知道我需要一个 for 循环,也许是这样的?
sum = 0
for value in dict:
sum + y
print(sum)
【问题讨论】:
-
dict.values()将为您提供所有列表。 -
为什么需要
third?
标签: python list dictionary