gpt4 book ai didi

python - 在 python 中混合两个列表的最快方法

转载 作者:太空狗 更新时间:2023-10-29 20:38:12 25 4
gpt4 key购买 nike

让我们有 2 个列表

l1 = [1, 2, 3]
l2 = [a, b, c, d, e, f, g...]

结果:

list = [1, a, 2, b, 3, c, d, e, f, g...] 

不能使用 zip(),因为它将结果缩短为最小的 list。我还需要一个 list 输出而不是一个 iterable

最佳答案

>>> l1 = [1,2,3]
>>> l2 = ['a','b','c','d','e','f','g']
>>> [i for i in itertools.chain(*itertools.izip_longest(l1,l2)) if i is not None]
[1, 'a', 2, 'b', 3, 'c', 'd', 'e', 'f', 'g']

要允许 None 值包含在列表中,您可以使用以下修改:

>>> from itertools import chain, izip_longest
>>> l1 = [1, None, 2, 3]
>>> l2 = ['a','b','c','d','e','f','g']
>>> sentinel = object()
>>> [i
for i in chain(*izip_longest(l1, l2, fillvalue=sentinel))
if i is not sentinel]
[1, 'a', None, 'b', 2, 'c', 3, 'd', 'e', 'f', 'g']

关于python - 在 python 中混合两个列表的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12649239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com