将 3 元素元组列表转换为字典

2023-11-26

如果我有两个元组列表

tuple2list=[(4, 21), (5, 10), (3, 8), (6, 7)]

tuple3list=[(4, 180, 21), (5, 90, 10), (3, 270, 8), (6, 0, 7)]

我如何将其转换为字典,如下所示,

tuple2list2dict={4:21, 5:10, 3:8, 6:7}

tuple3list2dict={4: {180:21}, 5:{90:10}, 3:{270:8}, 6:{0:7}}

我知道如何对元组中的 2 个元素执行此操作,使用,

tuple2list2dict=dict((x[0], index) for index,x in enumerate(tuple2list))

但对于 3 个元素我有问题,尝试下面的方法时出错,

tuple3list2dict=dict((x[0], dict(x[1], index)) for index,x in enumerate(tuple3list))

如何重用上述 3 元素元组代码来创建字典?

任何指针都表示赞赏或指出我可以在哪里阅读更多相关内容。在互联网上很难找到它。


在 Python2.7 或更高版本中,您可以使用 dict 理解:

In [100]: tuplelist = [(4, 180, 21), (5, 90, 10), (3, 270, 8), (4, 0, 7)]

In [101]: tuplelist2dict = {a:{b:c} for a,b,c in tuplelist}

In [102]: tuplelist2dict
Out[102]: {3: {270: 8}, 4: {0: 7}, 5: {90: 10}}

在 Python2.6 或更早版本中,等效项是

In [26]: tuplelist2dict = dict((a,{b:c}) for a,b,c in tuplelist)

请注意,如果元组中的第一个值出现多次,(如上例所示)结果tuplelist2dict仅包含一个键值对——对应于last具有共享密钥的元组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 3 元素元组列表转换为字典 的相关文章

随机推荐

  • HTTP 错误代码 505

    我已经在 google 上搜索过 505 是 不支持 HTTP 版本 但仍然无法弄清楚我的问题 我有一个带有 Tomcat 的 Web 应用程序 服务器端带有自签名证书来启用 HTTPS 无需验证客户端 客户端将验证服务器证书 我分析了wi
  • WPF 与 WinForms 或丰富的 UI 与稳定的应用程序?您如何看待 Windows 窗体平台的未来? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 WPF 与 WinForm
  • Angular 4 Universal“窗口未定义”

    我的项目运行完美 但是当我实现通用时 我得到 窗口未定义 我的错误如下 node modules hammerjs hammer js 2643 window document Hammer ReferenceError window is
  • OSX:PHP 本地主机错误并且无法加载动态库

    我该如何修复这个 php 错误 PHP Warning PHP Startup Unable to load dynamic library usr lib php extensions no debug non zts 20100525
  • 从 Thread.UncaughtExceptionHandler 启动服务?

    我正在尝试设置一个全局异常处理服务 如中提到的这个答案 这种方法听起来很合乎逻辑 因为崩溃后 我的自定义中的代码Thread UncaughtExceptionHandler可能无法成功执行 要么是因为应用程序可能未处于稳定状态 要么是因为
  • Python matplotlib -> 3D 条形图 -> 调整刻度标签位置,透明条

    我正在尝试使用 Matplotlib 中的 bar3d 在 Python 中创建 3D 条形直方图 我已经到了可以在传递一些数据后在屏幕上显示直方图的地步 但我陷入了以下困境 正确显示轴标签 当前错过了最终 或初始 刻度标签 要么使每个轴上
  • Android GridView 多选

    我已经实现了 GridView 并激活了 mGridView setChoiceMode GridView CHOICE MODE MULTIPLE MODAL 模式 现在 当我长按一个项目时 我可以从网格中选择多个项目 我想通过正常的短暂
  • 使用数据存储防止内存泄漏的最佳实践是什么?

    我尝试使用数据存储首选项 alpha07 来存储和获取数据 一切正常 我在数据存储中遇到了一些内存泄漏问题 使用数据存储防止内存泄漏的最佳实践是什么 这是我的示例代码 Preferences DataStore implementation
  • 如何从 Wildfly (Jboss) 访问 ws 端点的 CXF jar

    我尝试在 Wildfly 8 2 中部署我的 war 文件 我的应用程序使用 org apache cxf 进行 Web 服务 但 Wildfly Jboss 默认带有自己的 cxf jar 可以提供完整的 Java EE 支持 我可以消除
  • 使用 Flask-SQLAlchemy 反射表会引发 RuntimeError:应用程序未注册

    我有一个 SQLite 数据库来管理用户登录 还有一个现有的 MySQL 数据库 我将 MySQL 数据库添加到 Flask SQLAlchemySQLALCHEMY BINDS配置 当我尝试反映表格时 出现以下错误 RuntimeErro
  • R 中的多面板标题

    我有一个关于 R 的超简短问题 我的目标是为使用 par 生成的多面板图分配一个通用标题 例如 par mfrow c 1 2 plot rnorm 1000 plot rnorm 1000 因此 类似于绘图函数的 main 但扩展到两个绘
  • 使用多列的 Pandas DataFrame 聚合函数

    有没有办法编写一个聚合函数 如DataFrame agg方法 该方法可以访问正在聚合的多列数据 典型的用例是加权平均值 加权标准差函数 我希望能够写出类似的东西 def wAvg c w return c w sum w sum df Da
  • 如何避免此结构定义中出现 PhantomData?

    我有一个看起来像这样的特征 trait Handler
  • 使用 Google C++ Mocking Framework (Google Mock) (V1.5) 将任意参数传递给调用的方法

    我有一个模拟方法 当它被调用时 我希望它在调用其正常行为之前调用另一个函数 就像是 EXPECT CALL my obj MockedMethod WillOnce DoAll Invoke my obj SomeAdditionalMet
  • 你能在Python中创建多个“if”条件吗? [复制]

    这个问题在这里已经有答案了 在 JavaScript 中 可以这样做 if integer gt 3 integer lt 34 document write Something 这在Python中可能吗 Python确实允许你做这样的事情
  • 如何删除伪元素上的下划线?

    在 Chrome 和 Firefox 上 如果我在标签上应用 text decoration underline 默认情况下下划线不适用于伪元素 但在 IE 上确实如此 而且我无法删除它 我希望链接带有下划线 但不是伪元素 如果我在里面添加
  • 一个类的对象(使用单/多重继承)有多少个vptr?

    对于一个其 clas child 具有单一继承且基类多重继承 base1 和 base2 的对象 通常需要多少个 vptr 如果一个对象具有单继承和多继承 那么识别它有多少 vptr 的策略是什么 虽然标准没有指定有关 vptr 的内容 但
  • 如何使用 kubernetes Ingress 执行自定义身份验证

    我在 kubernetes 中部署了一些服务 并使用 NGINX 入口访问外部 使用 EC2 实例进行所有集群设置 能够通过与入口绑定的主机访问服务 现在 我不再直接访问 svc 而是尝试在访问服务之前添加身份验证 并重定向到登录页面 用户
  • 仅通过 URL 提交网络表单?

    我不太确定这属于这里 所以不要投反对票 只是让我知道是否是这样 我会很快继续前进 无论如何 有一个website有一个搜索页面 当点击搜索按钮时 它不会在 URL 中包含搜索查询 搜索内容后 页面会重定向到ssearch asp 但正如所说
  • 将 3 元素元组列表转换为字典

    如果我有两个元组列表 tuple2list 4 21 5 10 3 8 6 7 tuple3list 4 180 21 5 90 10 3 270 8 6 0 7 我如何将其转换为字典 如下所示 tuple2list2dict 4 21 5