gpt4 book ai didi

python - 以交替顺序在 python 中组合多个不同长度的列表

转载 作者:行者123 更新时间:2023-11-28 21:21:58 25 4
gpt4 key购买 nike

如果我有几个列表

我能够将列表 1 与列表 2 合并,但是,我未能成功合并其他列表。

def alternator():
iets = []
for i in range(len(list2)):
something += [list1[i]]
something +=[list2[i]]
result = something
result_weaver(result)

def result(x):
list31 = list3
if len(list3) < len(x) :
while len(list31) != len(x):
list31 += '-'

我决定添加“-”以确保两个列表的长度相等,这样 for 循环就可以开始工作。

有没有人对如何对此进行编程有更好的想法?

最佳答案

使用itertools.zip_longest()这里:

try:
from itertools import zip_longest
except ImportError:
# Python 2
from itertools import izip_longest as zip_longest

def alternate(list1, list2):
return [v for v in sum(zip_longest(list1, list2), ()) if v is not None]

zip_longest() 调用添加了 None 占位符(类似于您自己尝试添加 - 字符),我们需要再次将其删除来自压缩后的 sum() 输出。

演示:

>>> alternate(list1, list2)
['1', '5', '2', '6', '3', '7', '8']
>>> alternate(alternate(list1, list2), list3)
['1', '9', '5', '2', '6', '3', '7', '8']

关于python - 以交替顺序在 python 中组合多个不同长度的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318459/

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