我只是想将两个排序列表合并到一个排序列表中。我知道这是一项简单的任务和大量在线解决方案,但我的问题不同。这是我的代码:
def merge(list1, list2):
len1 = len(list1)
len2 = len(list2)
list3 = []
pointer = 0
for i in range(len1):
if (list1[i] >= list2[pointer]):
while (pointer < len2 and list1[i] >= list2[pointer]):
list3.append(list2[pointer])
pointer += 1
i -= 1
else:
list3.append(list1[i])
while (pointer < len2):
list3.append(list2[pointer])
pointer += 1
return list3
if __name__ == "__main__":
print(merge([1, 2, 3, 10, 11, 22], [4, 5, 6, 7, 20, 21, 30]))
我进行了调试,我很困惑地看到,当我将值 i 减少 1 时,例如从 3 到 2,在下一次迭代中它又回到 4。我不知道为什么?您可以通过运行代码并查看结果来检查它。我只需要解释为什么会这样。谢谢
幕布斯7119047
哆啦的时光机
繁花如伊
相关分类