在Python中合并两个排序的列表

列表是使用最广泛的python数据结构之一。在本文中,我们将看到如何组合两个列表的元素并以排序的方式产生最终输出。

用+和排序

+运算符可以将两个列表的元素合并为一个。然后,我们应用sorted函数,该函数将对使用此组合创建的最终列表的元素进行排序。

示例

listA = ['Mon', 'Tue', 'Fri']
listB = ['Thu','Fri','Sat']
# Given lists
print("Given list A is : ",listA)
print("Given list B is : ",listB)
# Add and sort
res = sorted(listA + listB)
# Result
print("The combined sorted list is : \n" ,res)

输出结果

运行上面的代码给我们以下结果-

Given list A is : ['Mon', 'Tue', 'Fri']
Given list B is : ['Thu', 'Fri', 'Sat']
The combined sorted list is :
['Fri', 'Fri', 'Mon', 'Sat', 'Thu', 'Tue']

与合并

heapq模块的merge函数可以合并两个列表的元素。然后,我们应用已排序的函数以获取最终输出。

示例

from heapq import merge
listA = ['Mon', 'Tue', 'Fri']
listB = ['Thu','Fri','Sat']
# Given lists
print("Given list A is : ",listA)
print("Given list B is : ",listB)
# Merge
res = list(merge(listA,listB))
# Result
print("The combined sorted list is : \n" ,sorted(res))

输出结果

运行上面的代码给我们以下结果-

Given list A is : ['Mon', 'Tue', 'Fri']
Given list B is : ['Thu', 'Fri', 'Sat']
The combined sorted list is :
['Fri', 'Fri', 'Mon', 'Sat', 'Thu', 'Tue']