输入:list1=[1,5,7,19,75] list2=[5,7,6,9,64,186,879]
输出:[1, 5, 5, 7, 7, 7, 9, 19, 64, 75, 186, 879]
def sortTwoSortedList(list1=[],list2=[]):
"""
:param list1: 有序list,升序
:param list2: 有序list,升序
:return: 合并后的有序list,升序
"""
result=[]
# while len(list1)>0 and len(list2) > 0:
while list1 and list2 :
if list1[0] >=list2[0]:
result.append(list2[0])
# 顺便回顾一下python中list删除元素的三种方法:result.remove(list1[0])入参是值;
# result.pop(0)入参是索引会返回被删除的值,result.pop()删除最后一个元素,和result.append()结合,就是一个栈
#del(list1[0]) 直接删除某个list的某个元素
list2.pop(0)
else:
result.append(list1[0])
list1.pop(0)
if list1:
for i in list1:
result.append(i)
if list2:
for i in list2:
result.append(i)
return result
if __name__ == '__main__':
print(sortTwoSortedList(list1=[1,5,7,7,19,75],list2=[5,7,9,64,186,879]))
运行结果:[1, 5, 5, 7, 7, 7, 9, 19, 64, 75, 186, 879]