将python中不同长度的大量列表组合成一个交替的ord

2024-09-24 22:27:06 发布

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

如果我有一些单子

我能够将列表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循环就可以工作了。在

有谁对如何编写这个程序有更好的想法吗?在


Tags: in列表forlendefrangeresultsomething
1条回答
网友
1楼 · 发布于 2024-09-24 22:27:06

在此处使用^{}

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()输出中删除这些占位符。在

演示:

^{pr2}$

相关问题 更多 >