字典中值的总和

问题描述 投票:0回答:2

我是新来的。我想对字典中的所有值求和,但我的值都是字符串,我不知道如何将字符串转换为整数...... 如果有人可以提供帮助,我真的很感激!

这是带有代码的词典:

dic1 = dict()
dic1 = {'2012-03-06':['1','4','5'],'2012-03-12':['7','3','10']}

for i in dic1:
    print(i,’,’,sum(dic1[i]))

我希望输出是这样的:

2012-03-06, 10
2012-03-12, 20

python string dictionary integer addition
2个回答
2
投票

第一个解决方案:您可以使用

map

来做到这一点
dic1 = {'2012-03-06':['1','4','5'],'2012-03-12':['7','3','10']}

result_dict = {key: sum(map(int, value)) for key, value in dic1.items()}
print(result_dict)

输出:

{'2012-03-06': 10, '2012-03-12': 20}

第二个解决方案:并轻松转换为预期输出

dic1 = {'2012-03-06':['1','3','5'],'2012-03-12':['7','3','10']}
for key, value in dic1.items():
    print(f"{key}, {sum(map(int, value))}")

输出:

2012-03-06, 10
2012-03-12, 20

-2
投票

可以是

dic1 = {'2012-03-06':['1','4','5'],'2012-03-12':['7','3','10']} 
for i in dic1: 
    print(i+','+ str(sum(map(int, dic1[i]))))

在python3中,

map(func,iter)
将给定函数应用于给定可迭代的每个项目后返回结果的迭代器(列表,元组等)

© www.soinside.com 2019 - 2024. All rights reserved.