如何将元组集合转换为字典?

头晕星

我有一个生成N个元组的迭代器,但在这里我假装有3个。它们的长度都是偶数。

t1 = (a1, b1, c1)
t2 = (a2, b2, c2)
t3 = (a3, b3, c3)

我希望将以上内容转换为:

d = {a1: [a2, a3], 
      b1: [b2, b3],
      c1: [c2, c3]}

我知道我应该遍历元组,并以某种方式将其压缩到字典中,但是我几乎陷入了困境。

奥兹古尔

假设列表中的第一个元素不同,则可以使用列表推导来生成结果字典。

请记住,中的所有键dict都是唯一的因此,如果a1等于a2t1将被覆盖t2

>>> lists = [['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']]

>>> d = {list[0]:list[1:] for list in zip(*lists)}

>>> print d
>>> {'a1': ('a2', 'a3'), 'b1': ('b2', 'b3'), 'c1': ('c2', 'c3')}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章