python - 将元组作为键的字典转换为包含键和值的元组
问题描述
我有一本这样的字典:
d = {('a','b','c'):4, ('e','f','g'):6}
我想要一组像这样的元组:
{('a', 'b', 'c', 4), ('e', 'f', 'g', 6)}
我试过这样:
b = set(zip(d.keys(), d.values()))
但输出是这样的:
set([(('a', 'b', 'c'), 4), (('e', 'f', 'g'), 6)])
我该如何解决?谢谢!
解决方案
在 Python >= 3.5 中,您可以在此集合推导中使用广义解包:
{(*k, v) for k, v in d.items()}
# {('a', 'b', 'c', 4), ('e', 'f', 'g', 6)}
但是Aran-Fey 建议的更普遍适用的tuple
连接方法并没有更冗长:
{k + (v,) for k, v in d.items()}
推荐阅读
- php - 如何组合多个排序功能
- javascript - 带有打字稿的 ReactJS
- javascript - 异步调用仅在 Fire Fox 上不一致
- powershell - 为什么在远程 PowerShell 会话中从 FTP 检索到的文件是加密的?
- java - java.lang.NullPointerException:尝试在空对象上调用虚拟方法 'android.view.View android.view.View.findViewById(int)'
- google-apps-script - 如何使用 Apps 脚本创建共享云端硬盘?
- python - Python - 处理后将块列表放入数据帧
- javascript - Webpack 捆绑 PNG 图像,但 React 不会显示它
- c# - AWS ApiGateway 和 Lambda 代理集成 - 响应结构说明?
- r - 使用较少激进的引用编写 RFC4180 兼容的平面文件