python列表中的Sum元素
如何将此列表中的值相加:python列表中的Sum元素,python,list,sum,element,Python,List,Sum,Element,如何将此列表中的值相加: [{'name': 'Radio HF', **'quantidade': '1'**}, {'name': 'Radio HF', **'quantidade': '1'**}, {'name': 'chave fenda', 'quantidade': '2'}, {'name': 'Coletes salva-vidas', 'quantidade': '3'}] 示例:如果[index]具有相同的名称,我希望对“quantidade”中的值求和。我该怎么做呢?
[{'name': 'Radio HF', **'quantidade': '1'**}, {'name': 'Radio HF', **'quantidade': '1'**}, {'name': 'chave fenda', 'quantidade': '2'}, {'name': 'Coletes salva-vidas', 'quantidade': '3'}]
示例:如果[index]具有相同的名称,我希望对
“quantidade”
中的值求和。我该怎么做呢?我不知道原因,但是您的'quantidade'
的类型是字符串
,因此在执行求和之前,您必须将其转换为int
代码:
mylist = [{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'chave fenda', 'quantidade': '2'},
{'name': 'Coletes salva-vidas', 'quantidade': '3'}]
sums = {}
for x in mylist:
sums[x['name']] = sums.get(x['name'],0) + int(x['quantidade'])
{'Radio HF': 2, 'chave fenda': 2, 'Coletes salva-vidas': 3}
输出:
mylist = [{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'chave fenda', 'quantidade': '2'},
{'name': 'Coletes salva-vidas', 'quantidade': '3'}]
sums = {}
for x in mylist:
sums[x['name']] = sums.get(x['name'],0) + int(x['quantidade'])
{'Radio HF': 2, 'chave fenda': 2, 'Coletes salva-vidas': 3}
我不知道原因,但是您的'quantidade'
的类型是字符串
,因此在执行求和之前,您必须将其转换为int
代码:
mylist = [{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'chave fenda', 'quantidade': '2'},
{'name': 'Coletes salva-vidas', 'quantidade': '3'}]
sums = {}
for x in mylist:
sums[x['name']] = sums.get(x['name'],0) + int(x['quantidade'])
{'Radio HF': 2, 'chave fenda': 2, 'Coletes salva-vidas': 3}
输出:
mylist = [{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'chave fenda', 'quantidade': '2'},
{'name': 'Coletes salva-vidas', 'quantidade': '3'}]
sums = {}
for x in mylist:
sums[x['name']] = sums.get(x['name'],0) + int(x['quantidade'])
{'Radio HF': 2, 'chave fenda': 2, 'Coletes salva-vidas': 3}
迭代列表中的字典,并使用字典将quantidade
值按类似的name
求和
lst = [{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'chave fenda', 'quantidade': '2'},
{'name': 'Coletes salva-vidas', 'quantidade': '3'}]
sums = {}
for d in lst:
sums[d['name']] = sums.get(d['name'], 0) + int(d['quantidade'])
print(sums) # {'Radio HF': 2, 'chave fenda': 2, 'Coletes salva-vidas': 3}
迭代列表中的字典,并使用字典将quantidade
值按类似的name
求和
lst = [{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'Radio HF', 'quantidade': '1'},
{'name': 'chave fenda', 'quantidade': '2'},
{'name': 'Coletes salva-vidas', 'quantidade': '3'}]
sums = {}
for d in lst:
sums[d['name']] = sums.get(d['name'], 0) + int(d['quantidade'])
print(sums) # {'Radio HF': 2, 'chave fenda': 2, 'Coletes salva-vidas': 3}
非常感谢,这就是我要找的。从我的答案中复制粘贴效果很好。非常感谢,这就是我要找的。从我的答案中复制粘贴非常好。很抱歉,我没有意识到我发布了与您相同的解决方案。当我意识到OP想要为相同的名字添加值时,我修改了我的原始代码,并且我在Jupyter中打开了代码,我事先没有看到你的答案。我增加了你的答案,所以我们扯平了。对不起,我没有意识到我发布了与您相同的解决方案。当我意识到OP想要为相同的名字添加值时,我修改了我的原始代码,并且我在Jupyter中打开了代码,我事先没有看到你的答案。我增加了你的答案,所以我们扯平了。很抱歉