在Python中,组合两个排序列表可以使用以下方法:
def merge_sorted_lists(list1, list2):
result = []
i, j = 0, 0
while i < len(list1) and j < len(list2):
if list1[i]< list2[j]:
result.append(list1[i])
i += 1
else:
result.append(list2[j])
j += 1
result += list1[i:]
result += list2[j:]
return result
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8]
merged_list = merge_sorted_lists(list1, list2)
print(merged_list)
输出:
[1, 2, 3, 4, 5, 6, 7, 8]
heapq
库合并两个有序列表:import heapq
def merge_sorted_lists(list1, list2):
return list(heapq.merge(list1, list2))
list1 = [1, 3, 5, 7]
list2 = [2, 4, 6, 8]
merged_list = merge_sorted_lists(list1, list2)
print(merged_list)
输出:
[1, 2, 3, 4, 5, 6, 7, 8]
这两种方法都可以将两个已排序的列表合并成一个新的排序列表。第一种方法使用了基本的循环和比较,而第二种方法使用了Python内置的heapq
库,它是一个堆队列算法,可以更高效地处理大量数据。
领取专属 10元无门槛券
手把手带您无忧上云