连接多个字典以创建新列表,其值作为原始字典的值列表

2024-01-17

我使用的是 Python 2.7,并且在这里查看了几个解决方案,如果您知道要合并多少个字典,这些解决方案就有效,但我可以有 2 到 5 个之间的任何内容。

我有一个循环,它生成一个具有相同键但不同值的字典。我想将新值添加到以前的值中。

Such as:

for num in numbers:
    dict = (function which outputs a dictionary)
    [merge with dictionary from previous run of the loop]

So if:

dict (from loop one) = {'key1': 1,
 'key2': 2,
 'key3': 3}

and

dict (from loop two) = {'key1': 4,
 'key2': 5,
 'key3': 6}

结果的字典将是:

dict = {'key1': [1,4]
 'key2': [2,5],
 'key3': [3,6]}

Use a defaultdict:

In [18]: def gen_dictionaries():
    ...:     yield {'key1': 1, 'key2': 2, 'key3': 3}
    ...:     yield {'key1': 4, 'key2': 5, 'key3': 6}
    ...:

In [19]: from collections import defaultdict

In [20]: final = defaultdict(list)

In [21]: for d in gen_dictionaries():
    ...:     for k, v in d.iteritems():
    ...:         final[k].append(v)
    ...:

In [22]: final
Out[22]: defaultdict(list, {'key1': [1, 4], 'key2': [2, 5], 'key3': [3, 6]})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接多个字典以创建新列表,其值作为原始字典的值列表 的相关文章

随机推荐

  • .Net MVC 5.2.3:如何从 SelectListItem 创建禁用选项?

    我正在尝试创建一个下拉列表 其中禁用了一些选项 以便它们不可选择 这是我的代码 var places new SelectList new List
  • .setAttribute("禁用", false);将可编辑属性更改为 false

    我想要与单选按钮相关的文本框 因此 每个单选按钮都应启用其文本框并禁用其他单选按钮 但是 当我将文本框的禁用属性设置为 true 时 它 也会更改可编辑属性 我尝试再次将可编辑属性设置为 true 但它不起作用 这就是我尝试过的 JS函数
  • 如何将 NSWorkspace 通知迁移到 Swift 4?

    在 Swift 3 中 我使用以下代码注册了睡眠和唤醒通知 let notificationCenter NSWorkspace shared notificationCenter notificationCenter addObserve
  • 是否可以根据国家/地区提供多个 APK 支持?

    我有一个包含免费和收费产品的应用程序 我需要为我的应用程序创建两个 APK 并在支持应用内结算的国家 地区显示支持应用内结算的应用程序 并显示不支持应用内结算的同一应用程序的另一个 APK 在不支持的国家 地区进行应用程序计费 仅提供免费产
  • 如何从 JSON 对象中提取属性及其值 [重复]

    这个问题在这里已经有答案了 我返回以下 json 对象并将其存储在名为 data 的变量中 data min 1 q1 59 median 117 q3 175 max 233 由于这是单个对象而不是对象数组 因此我无法执行 data 0
  • cimg 库 - 链接错误[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试使用 cimg 库 我已经包含了 CImg h 头文件 但是当我尝试编译它时 出现链接错误 tmp cc2tvYs
  • 卡在“将 API 使用情况发送到 iTunes Connect”上

    我尝试将用 Starling 开发的游戏上传到应用商店 但 应用程序加载器 停留在 将 API 使用情况发送到 iTunes Connect 10 天前上传成功 新版本只有一行不同的代码编译是一样的 有人有这个问题吗 有人有解决办法吗 我尝
  • 如何启用Objectify XA事务?

    我正在同一类型的实体之间实现友谊功能Profile 该实体类型是根 非父 实体 一个配置文件有一个Set
  • Photoshop“黑白”调整图层背后的算法是什么?

    我做了很多研究 但没有找到任何东西 但我也不知道到底要搜索什么样的关键字 我希望能够转换输入RGB图像到灰度但我希望能够添加更多或更少红色 黄色 绿色 青色 蓝色 洋红色像Photoshop 您知道等式是什么吗 或者我在哪里可以找到这些等式
  • C语言中如何将int转换为float?

    我正在尝试解决 int total 0 number 0 float percentage 0 0 percentage number total 100 printf 2f percentage 如果数字的值为 50 总数为 100 我应
  • -xms 总和大于主机 RAM 的多个 JVM

    注意 我是 Java 新手 我是 Python 开发人员 JVM 的想法对我来说很陌生 假设您有一台 8 核 160GB RAM 的服务器 如果您使用 xms 100G 运行 Java 程序 它不会抛出任何错误 如果使用 xms 100G
  • Perforce 相当于 git local commit

    我在使用 Git 一年后才开始使用 Perforce 是否有任何等同于 git local commit 到我的分支的强制 本质上 如果我想要完成一项可能需要撤消和重做我的特定更改的复杂任务 有什么方法可以在 Perforce 中完成此任务
  • 是否可以在 Hudson/Jenkins 中用参数化字符串替换整个存储库 URL?

    在 Hudson Jenkins 中 是否可以替换entireSubversion 模块存储库 URL 中带有字符串参数的字符串 我不想只替换版本或类似的内容 我想替换整个网址 因此 当我运行构建时 我会收到输入 URL 的提示 我会输入类
  • C++ 从字符串中间提取数字

    我有一个vector含有strings遵循以下格式text number number Eg Example 45 3 我只想要第一个数字 45在示例中 并且我无法使用当前代码执行其他操作 std vector
  • 在不同的函数中分配的空闲内存?

    我正在尝试学习 C 目前正在尝试编写基本的堆栈数据结构 但我似乎无法掌握基本的知识malloc free right 这是我一直在使用的代码 我只是在这里发布一小部分来说明特定问题 而不是全部代码 但错误消息是通过运行此示例代码生成的val
  • PGAdmin III 无法连接 AWS RDS

    我正在尝试从 PgAdmin 3 连接 AWS RDS PostgreSql 我点击了以下链接http docs aws amazon com AmazonRDS latest UserGuide USER ConnectToPostgre
  • 创建包含多个 AAR/JAR 的 AAR

    我看到了一些问题 Android Studio 将 2 个 aar 合二为一 https stackoverflow com questions 30084314 android studio combine 2 aar into one和
  • Google 地图标记为链接

    我在我的网站上使用 Google 地图 但我想知道如何使用Markers作为链接 我的意思是当我单击标记打开特定链接时 先感谢您 这实际上很容易做到 只需将事件处理程序附加到您的标记 然后通过设置启动链接window location hr
  • 在 Hibernate JPA 实体中用另一个列表替换一个列表是否合法?

    假设一个 Hibernate 4 2 JPA 2 0 实体class EntityA 它包含一个 ManyToOne field List
  • 连接多个字典以创建新列表,其值作为原始字典的值列表

    我使用的是 Python 2 7 并且在这里查看了几个解决方案 如果您知道要合并多少个字典 这些解决方案就有效 但我可以有 2 到 5 个之间的任何内容 我有一个循环 它生成一个具有相同键但不同值的字典 我想将新值添加到以前的值中 Such