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

如何将具有相同键的字典组合在一起?

海嘉赐
2023-03-14
问题内容

我有这样的词典列表:

dicts = [
    {'key_a': valuex1,
     'key_b': valuex2,
     'key_c': valuex3},

    {'key_a': valuey1,
     'key_b': valuey2,
     'key_c': valuey3},

    {'key_a': valuez1,
     'key_b': valuez2,
     'key_c': valuez3}
]

我想采用这些并构建一个像这样的大词典:

big_dict = {
    'key_a': [valuex1, valuey1, valuez1],
    'key_b': [valuex2, valuey2, valuez2],
    'key_c': [valuex3, valuey3, valuez3]
}

我有什么优雅的“拉链”式方法吗?

所有的键总是一样的。


问题答案:
big_dict = {}
for k in dicts[0]:
    big_dict[k] = [d[k] for d in dicts]

或者,通过dict理解:

{k: [d[k] for d in dicts] for k in dicts[0]}


 类似资料:
  • 问题内容: 我有以下格式的词典列表: 我想将此字典列表分组为一个字典,例如: 我目前所做的是,遍历所有字典并创建键列表,然后再次遍历该键以创建。我想知道是否有更简单的方法来完成此任务。有人可以帮忙吗? 问题答案: 谷歌的事情: python列表理解 python dict理解 蟒蛇星 python dict获取 python设置联合

  • 问题内容: 我在这里浏览了一些问题,但这些问题似乎都不是我的问题。假设我有2个字典,它们是dict1 和字典2 我正在编写一个程序,需要将它们结合到一个字典finaldict中 非常感谢您的帮助,我一直在努力,现在已经一无所获 问题答案: 这是通用版本。即使只有键之一存在键,也可以用它来创建一个以值作为列表的字典。 输出量 如果您使用的是Python 2,则必须像这样更改for循环:

  • 问题内容: 我有以下两个玩具字典 我想得到一个唯一的字典,在其中我将第二个字典值堆叠在第一个字典之后,并放在相同的方括号内。 我尝试了以下代码 但是我获得的输出在每个键的列表中有两个列表,即 而我想获得 如何使用一行或两行代码来实现? 问题答案: 您几乎拥有了它,而是使用了附加两个列表的方法:

  • 在本例中,我有一本字典,其形式如下: 注:在realty中,、和的整数值是列表或数组。 其目的是(可能与itertools一起)组合所有值,并形成以下形式的新词典: 这里,对应于子字典with value,对应于子字典with value,对应于子字典带值。 我的尝试:我的想法基于提取值以首先形成一个列表。然后,我可以从这个列表中形成组合,并用它们填充一个新字典。 这给了我: 然后,我想重命名键(

  • 问题内容: 我有以下代码来获取地图: 如何打印带有重复键的消息“重复键”? 问题答案: 如何打印带有重复键的消息“重复键”? 使用当前代码,您将收到消息“重复键”,其中包含至少2个实例的列表,这些实例具有与对象相同的值,例如。 如何获得对应的密钥? 到目前为止,还无法获得相应的键,当前从合并功能中获得的实际上是与相同键映射的2个值,这些值需要合并以仅保留对应键的一个值。 您的问题是 Java 9

  • 问题内容: 我有多个像这样的字典/键值对: 我希望结果成为新的字典(如果可能的话,以最有效的方式): 实际上,我希望结果d为: 如果有人告诉我如何获得第一个结果,那么我可以找出其余的结果。 问题答案: 假设所有键始终存在于所有字典中: 注意:在Python 3.x中,使用以下代码: 并且如果dic包含numpy数组: