合并切片列表

2024-10-05 13:18:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含N个元素的列表,我使用特定的步骤,比如3:

slice0 = text[0::3]
slice1 = text[1::3]
slice2 = text[2::3]

在单独进行了一些处理之后,现在我需要将它们合并回原来列表中的相同位置。有没有类似的(简单的)方法来做到这一点?在

示例:

^{pr2}$

然后进行一些处理(比如将每个列表分别乘以1、2和3:

L0 = [1,4], L1 = [4,10], L2 = [9,18] 

将它们合并回原来的位置

L = [1,4,9,4,10,18]

谢谢。在


Tags: 方法text元素l1示例列表步骤l2
3条回答

您可以使用^{}函数将它们重新连接在一起:

>>> l0 = [1,4]; l1 = [4,10]; l2 = [9,18]
>>> zip(l0, l1, l2)
[(1, 4, 9), (4, 10, 18)]
>>> [x for t in zip(l0, l1, l2) for x in t]
[1, 4, 9, 4, 10, 18]

或使用^{}

^{pr2}$

在python3中,zip是一个生成器函数,^{}可能更可取,正如其他人已经指出的那样。在

>>> from itertools import chain
>>> l0, l1, l2, = [1,4], [4,10], [9,18]
>>> list(chain.from_iterable(zip(l0,l1,l2)))
[1, 4, 9, 4, 10, 18]
>>> L0 = [1,4]
>>> L1 = [4,10]
>>> L2 = [9,18]
>>> [x for zipped in zip(L0, L1, L2) for x in zipped]
[1, 4, 9, 4, 10, 18]

或使用^{}的替代方法:

^{pr2}$

相关问题 更多 >

    热门问题