Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รวมสองลิสต์ที่เรียงแล้วใน Python

รวมสองลิสต์ที่เรียงลำดับแล้ว ให้ผลลัพธ์เป็นลิสต์เดียวที่เรียงลำดับ

ใช้ + และ sorted

sorted(listA + listB)

ตัวอย่าง

listA = ['Mon', 'Tue', 'Fri']
listB = ['Thu', 'Fri', 'Sat']
print("Given list A is : ", listA)
print("Given list B is : ", listB)
res = sorted(listA + listB)
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

merge(listA, listB) คืน iterator แล้ว sorted()

ตัวอย่าง

from heapq import merge
listA = ['Mon', 'Tue', 'Fri']
listB = ['Thu', 'Fri', 'Sat']
print("Given list A is : ", listA)
print("Given list B is : ", listB)
res = list(merge(listA, listB))
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']