如何在Python中合并任意数量的元组?

发布于 2021-01-29 14:57:15

我有一个元组列表:

l=[(1,2,3),(4,5,6)]

该列表可以是任意长度,元组也可以。我想按它们出现的顺序将其转换成元素的列表或元组:

f=[1,2,3,4,5,6] # or (1,2,3,4,5,6)

如果在开发时知道我会得到多少个元组,我可以添加它们:

m = l[0] + l[1]  # (1,2,3,4,5,6)

但是由于直到运行时我才知道会有多少个元组,所以我无法做到这一点。我觉得有一种方法可以使用map,但我无法弄清楚。我可以遍历元组并将其添加到累加器中,但是那样会创建很多永远不会使用的中间元组。我还可以遍历元组,然后遍历元组的元素,并将它们附加到列表中。这似乎效率很低。也许有一种更简单的方法可以让我完全忘却。有什么想法吗?

关注者
0
被浏览
77
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    链接它们(仅创建一个生成器,而不是保留额外的内存):

    >>> from itertools import chain
    >>> l = [(1,2,3),(4,5,6)]
    >>> list(chain.from_iterable(l))
    [1, 2, 3, 4, 5, 6]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看