Python 如何以升序合并两个已排序的列表,而不在最终列表上使用.sort()?

Python 如何以升序合并两个已排序的列表,而不在最终列表上使用.sort()?,python,merge,Python,Merge,除了最后一个,我不知道为什么 import random def merge_lists(a,b): lst=[0 for i in range(len(a)+len(b))] print(lst) a.sort() b.sort() print(a) print(b) j=0 k=0 for i in range(0, len(lst)): if j<len(a) and k<len(b):

除了最后一个,我不知道为什么

import random
def merge_lists(a,b):
    lst=[0 for i in range(len(a)+len(b))]
    print(lst)
    a.sort()
    b.sort()
    print(a)
    print(b)
    j=0
    k=0
    for i in range(0, len(lst)):
        if j<len(a) and k<len(b):
            if a[j]<b[k]:
                lst[i]=a[j]
                j+=1
            else:
                lst[i]=b[k]
                k+=1
        print(lst)
        print(i)
        print(j)

def main():
    n=5
    m=8
    x=lst1=[random.randrange(0,50) for i in range(n)]
    y=lst2=[random.randrange(0,50) for i in range(m)]
    print("unsorted list 1 is", lst1)
    print("unsorted list 2 is", lst2)
    merge_lists(x,y)

main()
随机导入
def合并列表(a、b):
lst=[0表示范围内的i(len(a)+len(b))]
打印(lst)
a、 排序()
b、 排序()
印刷品(a)
印刷品(b)
j=0
k=0
对于范围(0,len(lst))内的i:

如果j
如果jim不允许在sort之后使用任何预定义函数,那么为什么要在前两个列表中使用
print
range
len
?对不起,预定义的列表函数,sort()除外。所以我不允许使用append()、pop()等。所以你必须使用列表,但你不能使用任何常用的列表方法?不允许使用
append
会使代码变得不必要的复杂,因此,如果这真的是对您的作业的限制,那么它实际上有害于教育,我认为。。。