当前位置: 首页 > 面试题库 >

字典列表键的Python总和

浦修文
2023-03-14
问题内容

我有以下词典列表:

[{'Name': 'A', 'amt':100},
 {'Name': 'B', 'amt':200},
 {'Name': 'A', 'amt':300},
 {'Name': 'C', 'amt':400},
 {'Name': 'C', 'amt':500},
 {'Name': 'A', 'amt':600}]

我想amt对每个求和name并在字典列表中得到以下结果:

 [{'Name':'A', 'amt':1000},
  {'Name':'B', 'amt':200},
  {'Name':'C', 'amt':900}]

问题答案:

from collections import defaultdict

c = defaultdict(int)
for d in list_of_dictionaries:
    c[d['Name']] += d['amt']

它产生c

{'A': 1000, 'C': 900, 'B': 200}

要将其转换为词典列表:

[{'Name': name, 'amt': amt} for name, amt in c.items()]

结果:

[{'Name': 'A', 'amt': 1000}, {'Name': 'C', 'amt': 900}, {'Name': 'B', 'amt':200}]


 类似资料:
  • 问题内容: 我有这种形式的字典清单: 我想像这样通过列表中的每个元素通过键求和: 我尝试过的是以下内容: 但它仍然不起作用。 问题答案: 您想要的是集合类型。集合上的Python文档最能描述它,但是从本质上讲a是一种特殊的字典,其中所有值都是整数。您可以传递任何密钥(包括不存在的密钥)并将其添加。例如: 编辑:@timgeb提供了此答案的一种变体,该变体在对象上本地使用了该方法。我建议将其作为此处

  • 问题内容: 为什么以下旨在删除字典中多个键的表达式无效?(是字典) 用它替换的最最小的表达式是什么? 问题答案: 您不应该 在 这里完全使用列表理解。列表推导非常适合构建值列表,因此不应将其用于一般循环。对副作用使用列表理解会浪费内存,这是对一个完美的列表对象的浪费。 列表推导也是 表达式 ,因此只能包含其他表达式。是一个语句,不能在表达式内使用。 只需使用一个循环: 或使用字典理解来重建字典:

  • 问题内容: 我有一个字典列表和每个字典的key(比方说)“型”,这可以有值,等我的目标是过滤掉这些字典到同一个字典列表,但只有一个的那些某些“类型”。我想我真的很在理解问题。 因此,示例列表如下所示: 我有一个键值列表。举例来说: 预期的结果列表如下所示: 我知道我可以用一组for循环来做到这一点。我知道必须有一个更简单的方法。我发现此问题有很多不同的风格,但没有一个完全符合要求并回答了这个问题。

  • 问题内容: 我试图以一种优雅的方式编写一个函数,该函数将字典列表进行分组并汇总(加和)like键的值。 例: 我尝试使用itertools为groupby进行此操作,并对每个相似键值对进行求和,但是这里缺少一些内容。这是我的函数当前的样子: 问题答案: 您可以使用和。 使用dict可以在中完成,而排序则需要时间。 的优点是它将自动将相似键的值相加。 例:

  • 本文向大家介绍python 字典套字典或列表的示例,包括了python 字典套字典或列表的示例的使用技巧和注意事项,需要的朋友参考一下 文件f1 A 1 a A 1 b A 2 C B 2 a B 2 b 生成如下字典: 以上这篇python 字典套字典或列表的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 假设我有这个: 并通过搜索“ Pam”作为名称,我想检索相关的字典: 如何实现呢? 问题答案: 你可以使用生成器表达式: 如果你需要处理不存在的商品,则可以按照用户Matt的 建议进行操作,并使用稍有不同的API提供默认值: