帮助:
请编写一个名为sumDictionaryValues的函数,它接受一个参数:一个字典变量。这本词典的键是String变量。这个字典的值将是一个数字列表。你的函数应该创建一个新的字典。新词典的键应与原始词典的键相同。新词典的值应该是原始列表中各个值的总和。
# Declare the test dictionaries
dictA = {"A": [1, 2, 3], "B": [9, -4, 2], "C": [3, 99, 1]}
dictB = {"D": [1, 2, 10], "E": [-2, -4, 8], "F": [100000, 0, 1]}
dictC = {"G": [-1, -2, 3, 0, 4], "H": [-11, -4, 15], "I": [1]}
# Obtain the test results
resultA = sumDictionaryValues(dictA)
resultB = sumDictionaryValues(dictB)
resultC = sumDictionaryValues(dictC)
# Check some of the values of resultA
print(resultA["A"] == 6)
print(resultA["B"] == 7)
# Check some of the values of resultB
print(resultB["E"] == 2)
print(resultB["F"] == 100001)
# Check some of the values of resultC
print(resultC["G"] == 4)
print(resultC["I"] == 1)
答案 0 :(得分:2)
尝试使用sum()
方法:
dictA = {"A": [1, 2, 3], "B": [9, -4, 2], "C": [3, 99, 1]}
resultA={}
for k,v in dictA.items():
resultA[k]=sum(v)
print(resultA)
或者只是创建字典理解:
resultA={k:sum(v) for k,v in dictA.items()}
输出:
{'A': 6, 'B': 7, 'C': 103}
答案 1 :(得分:1)
试试这个:
def sumDictionaryValues(d):
new_d = {}
for i in d:
new_d[i]= sum(d[i])
return new_d
答案 2 :(得分:1)
只是for循环:
new = {}
for key in dict:
new_d[key]= sum(d[key])
新词典具有所有求和值
答案 3 :(得分:0)
一个衬里-相同
my_dict = {"A": [1, 2, 3], "B": [9, -4, 2], "C": [3, 99, 1]}
my_dict = {key : sum(my_dict[key]) for key in my_dict}
print(my_dict)
{'A': 6, 'B': 7, 'C': 103}