【问题标题】:How to destack nested tuples in Python?如何在 Python 中解栈嵌套元组?
【发布时间】:2013-01-22 14:28:43
【问题描述】:

如何转换以下元组:

来自:

(('aa', 'bb', 'cc'), 'dd')

到:

('aa', 'bb', 'cc', 'dd')

【问题讨论】:

标签: python nested tuples


【解决方案1】:
l = (('aa', 'bb', 'cc'), 'dd')
l = l[0] + (l[1],)

这适用于您的情况,但John La Rooy's solution 更适合一般情况。

【讨论】:

  • 我想实现以下目标:a , b = (12 , 21) , (1,2)。我想得到第三个元组c = ( (12,21), (1,2) ) 。如何做到这一点?
【解决方案2】:
a = (1, 2)
b = (3, 4)

x = a + b

print(x)

输出:

(1, 2, 3, 4)

【讨论】:

  • 注:这回答了问题的标题,但不是它的主体。问题的标题应该是“How to destack nested tuples”。
【解决方案3】:
>>> tuple(j for i in (('aa', 'bb', 'cc'), 'dd') for j in (i if isinstance(i, tuple) else (i,)))
('aa', 'bb', 'cc', 'dd')

【讨论】:

  • def merge_tuples(*t): return tuple(j for i in (t) for j in (i if isinstance(i, tuple) else (i,))) 使其更通用。
【解决方案4】:
x = (('aa', 'bb', 'cc'), 'dd')
tuple(list(x[0]) + [x[1]])

【讨论】:

  • x[0] + (x[1],) 也可以
【解决方案5】:
l = (('aa', 'bb', 'cc'), 'dd')

你可以这样做:

(*l[0], l[1])

结果:

('aa', 'bb', 'cc', 'dd')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2021-06-30
    • 2023-04-03
    相关资源
    最近更新 更多