【问题标题】:Concatenate multiple zip objects into a list [duplicate]将多个zip对象连接到一个列表中[重复]
【发布时间】:2019-09-03 09:37:09
【问题描述】:

我正在使用列表推导来生成一些 zip 对象:

[ zip(a, b[i]) for i in range(0, 1) ]

>>> [<zip object at 0x10a216b88>, <zip object at 0x10a216c08>]

如何将两个 zip 对象连接到一个列表中?

如果例如&lt;zip object at 0x10a216b88&gt; 有:

(a, b)
(a, c)

&lt;zip object at 0x10a216c08&gt;:

(f, g)
(f, w)

期望的输出是:

[(a, b), (a, c), (f, g), (f, w)]

【问题讨论】:

标签: python


【解决方案1】:

使用itertools.chain.from_iterable:

>>> import itertools
>>> l = [zip(range(3), range(3)), zip(range(3), range(3))]
>>> l
[<zip object at 0x7f7e80912408>, <zip object at 0x7f7e840a18c8>]
>>> list(itertools.chain.from_iterable(l))
[(0, 0), (1, 1), (2, 2), (0, 0), (1, 1), (2, 2)]

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 2020-09-21
    • 2015-01-08
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多