题库首页 › 青少年软件编程(Python) › 题目 18976

合并有序列表 现有两个列表中的数据已经分别升序排好,要求将两个列表合并到一个新列表中,最终结果依旧升序。例如两个有序列表为a=[11,25,64,75,88]和b=[10,33,46,50,90],最终合并到列表c中,结果为:[10, 11, 25, 33, 46, 50, 64, 75, 88, 90] 实现上述功能的Python程序如下,请在划线处填入合适的代码。 a=[11,25,64,75,88] b=[10,33,46,50,90] c=[0]*10 i=0 j=0 k=0 while ① : #当列表a或列表b中的数据未合并完,继续循环 if i==len(a): #当列表a中数据已经合并完,只需将列表b中的数据合并 ② j+=1 elif j==len(b): #当列表b中数据已经合并完,只需将列表a中的数据合并 c[k]=a[i] i+=1 elif ③ : #当列表a和列表b中的数据都未合并完,将较小值合并到列表c中 c[k]=a[i] i+=1 else: c[k]=b[j] j+=1 ④ #每合并完一个数据,列表c中的指针k往后走一步 print(c)

正确答案:补全答案(Python合并有序列表):①i<len(a) or j<len(b) ②c[k]=b[j] ③a[i]<b[j] ④k+=1。核心:双指针归并。

试卷来源:202603 青少年软件编程等级考试Python五级真题

本卷相关题目

在线做题 同科目题库