展开嵌套元组

3

我有一个元组列表,其中有些是嵌套的:

[(name,(6,9.0,2.4),link),(name,(7.8,9.0,5),link)...]

我想将列表中每个项目的内部元组展开,但保留外部元组:
[(name,6,9.0,2.4,link),(name,7.8,9.0,5,link)...]

这与在此处提出的问题解决方案不同,该解决方案旨在保留元组对。

1个回答

4
给定
lst = [('xyz',(6,9.0,2.4),'link1'),('abc',(7.8,9.0,5),'link2')]

遍历 lst 并将内部元组 unpack 到外部元组中。您可以使用列表推导来完成此操作。

>>> [(x, *y, z) for x, y, z in lst]
[('xyz', 6, 9.0, 2.4, 'link1'), ('abc', 7.8, 9.0, 5, 'link2')]

适用于Python3.6。对于旧版本,请使用元组连接:

>>> [(x,) + y + (z,) for x, y, z in lst]
[('xyz', 6, 9.0, 2.4, 'link1'), ('abc', 7.8, 9.0, 5, 'link2')]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接