python - 如何遍历列表中的字典中的一堆值python
问题描述
ratinglist = open("ratings.txt").readlines()
booklist = open("booklist.txt").readlines()
keys = [key.strip('\n') for key in ratinglist[0::2]]
values = [value.strip(' \n').split(' ') for value in ratinglist[1::2]]
my_dict = dict(zip(keys, values))
for values in my_dict:
value * x = sum
因此,我有一个巨大的字典,其中包含每个键的值列表。
这是我的字典的一个例子:
'KeeLed': ['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'], 'Megan': ['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']}
我需要做的是做一个 for 循环,循环每个值,将它们相乘,然后相加。
我只需要帮助让 for 循环正确地遍历这些值。
例如,对于 KeeLed 和 Megan,我希望这个 for 循环遍历它们单独的值列表,然后将它们相乘,然后相加。
像这样:0 * 5, + 5 * 0, + 0 * 0, + 5 * 0.... 等等
问题是我在网上没有找到任何关于如何遍历字典中的列表的信息。我找到了一些关于遍历列表的资源,但我需要遍历字典内的值列表。
我希望将结果放在一个列表中,但如果我在 for 循环方面获得一些帮助,我可以这样做。
scores for each person = [325, 450]
解决方案
“问题是我在网上没有找到任何关于如何遍历字典中的列表的信息。我找到了一些关于循环列表的资源,但我需要遍历字典中的值列表。 "
例子
myDict = {
'KeeLed': ['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'],
'Megan': ['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']
}
# For-looping through dict will give the key.
for name in myDict:
total = 0
# applying the key into myDict will give the list associated with the dict
for score in myDict[name]:
total = total + int(score)
print(name,total)
结果
KeeLed 54
Megan 85
推荐阅读
- jsf - javax.servlet.ServletException:UT010016:不是多部分请求
- cypress - 如果第二次测试失败,cypress 将停止执行,但我需要继续运行其他测试?在赛普拉斯
- windows - Windows Server 2012 中 cmd 批处理文件中 /f %A 的正确语法
- r - R中缺失字符串的插补
- git - `git rebase --fork-point master` 是什么意思?
- mongodb - 安装的 MongoDB 版本与 db.version() 不匹配
- opencl - 从缓冲区复制的速度差异
- azure - 使用 Powershell 更新 Cosmos DB RU
- javascript - ReactJS 逻辑中的逐日日历
- javascript - 如何在javascript中缩放数字范围,以使中间范围内的整数变得更大而外部限制数字保持不变