我有一个元组列表,其中有些是嵌套的:
[(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)...]
这与在此处提出的问题解决方案不同,该解决方案旨在保留元组对。
我有一个元组列表,其中有些是嵌套的:
[(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)...]
这与在此处提出的问题解决方案不同,该解决方案旨在保留元组对。
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')]