Python 如何在不使用数组的情况下以交替方式将两个序列合并到单个序列中?

Python 如何在不使用数组的情况下以交替方式将两个序列合并到单个序列中?,python,math,Python,Math,我试图用循环来解决它,但我得到的是一个重复的结构,如果没有更好的方法,我会感到惊讶,但有一种方法是这样的: for eg if sequence 1 : <1,3,5> and sequence 2 : <2,6,8,11,12> than the result should be <1,2,3,6,5,8,11,12> 这可以给你一个窍门,我正在做的是,如果你对循环逻辑有任何疑问,我可以详细说明一下,我将保留一个布尔回合到交替回合,从两个数组中进行选择。简

我试图用循环来解决它,但我得到的是一个重复的结构,如果没有更好的方法,我会感到惊讶,但有一种方法是这样的:

for eg if sequence 1 : <1,3,5> and sequence 2 : <2,6,8,11,12>
than the result should be <1,2,3,6,5,8,11,12>
这可以给你一个窍门,我正在做的是,如果你对循环逻辑有任何疑问,我可以详细说明一下,我将保留一个布尔回合到交替回合,从两个数组中进行选择。简单转身=!回合=>在每次迭代中交替回合

这应该可以做到。 说明:

a=[1,3,5] b=[2,4] zip_longesta,b->1,2,3,4,5,无 链从_iterablel->1,2,3,4,5,无

其次是列表理解

i=0
j=0
N=len(L1)
M=len(L2)
L=[]
turn=True
while(i<N and j<M):
    if turn:
        L.append(L1[i])
        i+=1
    else:
        L.append(L2[j])
        j+=1
    turn=!turn
while(i<N):
    L.append(L1[i])
    i+=1
while(j<M):
    L.append(L2[j])
    j+=1
print(L)

这段代码提供了一个基于输入的排序数字列表

from itertools import chain, zip_longest

l = [i for i in chain.from_iterable(zip_longest(a,b)) if i]

请把你写的代码贴出来,这样很容易回答。
from itertools import chain, zip_longest

l = [i for i in chain.from_iterable(zip_longest(a,b)) if i]
x1,x2=[1,3,5],[2,6,8,11,12]

print(sorted(x1+x2))