首页 > 解决方案 > 将元组作为键的字典转换为包含键和值的元组

问题描述

我有一本这样的字典:

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)])

我该如何解决?谢谢!

标签: pythondictionarytuples

解决方案


在 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()}

推荐阅读