Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python列表中的Sum元素_Python_List_Sum_Element - Fatal编程技术网

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中打开了代码,我事先没有看到你的答案。我增加了你的答案,所以我们扯平了。很抱歉