微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在保留另一个字典中的键的同时创建一个字典 - Python

如何解决在保留另一个字典中的键的同时创建一个字典 - 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

我的输出是: 18,40 这就是“total”变量的内容

我希望这些数字成为我新字典中的值 (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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?