如何解决在保留另一个字典中的键的同时创建一个字典 - Python
我希望能够使用运行代码获得的值创建一个新字典,但我想保留第一个字典中的值。
import math
d = {'bob':[5,1,3],'toms':[3,5,3,0],'sammy': [0,'ted':[5,6,3]}
highscores = {}
total = 0
v =0
whatName = str(input("what name do you want? "))
for i in d:
a = d[whatName] #gives us whatNames values
b = d[i]
if i == whatName: #skips what name is
pass
else:
for k in range(len(b)):
#print(k,end = ' ')
value = a[k]*b[k]
total= value + total
print(total)
total = 0
我希望这些数字成为我新字典中的值 (highscores),同时保留旧字典中的键 (d)。
新词典不应具有用户输入的名称。所以如果我输入“bob”,他就不应该出现在新词典中,等等。
新的字典输出应该是这样的: highscores = {'toms':18,'sammy': 1,'ted': 40}
谢谢!
解决方法
d = {'bob':[5,1,3],'toms':[3,5,3,0],'sammy': [0,'ted':[5,6,3]}
highScores = {}
for x in d.keys():
highScores[x] = sum(d[x])
print(highScores)
输出是: {'鲍勃':9,'汤姆斯':11,'萨米':1,'泰德':14}
这里我让 highScores 使用 d 中的所有名称或“键”,并将数组相加,使用 d.keys() 或 d.values() 来解析 dicts。
,for key in d.keys():
if key != whatName:
high_scores[key] = sum(d[key])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。