【问题标题】:Flatten Nested Tuples展平嵌套元组
【发布时间】:2019-03-05 12:42:17
【问题描述】:

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

[(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)...]

这与here 提出的问题的解决方案不同,其中解决方案试图保留对。

【问题讨论】:

    标签: python python-3.x list tuples


    【解决方案1】:

    给定

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

    lstunpack 内部元组迭代到外部元组。您可以通过列表理解来做到这一点。

    >>> [(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')]
    

    【讨论】:

      猜你喜欢
      • 2017-10-10
      • 2020-10-04
      • 2012-11-21
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多