对字典值求和?

2024-09-25 08:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

帮助:

请编写一个名为sumDictionaryValues的函数,该函数接受一个参数:dictionary变量。这个字典的键是字符串变量。这个字典的值都是一个数字列表。你的函数应该创建一个新字典。新词典的关键字应与原词典的关键字相同。新字典的值应该是原始列表中相应值的总和。

# 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)

Tags: ofthe函数列表字典checksome关键字
3条回答

尝试使用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}

只是一个for循环:

new = {}
for key in dict:
    new_d[key]= sum(d[key])

新字典包含所有的和值

试试这个:

def sumDictionaryValues(d):
    new_d = {}
    for i in d:
        new_d[i]= sum(d[i])
    return new_d

相关问题 更多 >