Bu bölümde, Python`da heapq modülü kullanılarak iki sıralı listenin nasıl birleştirilebileceğini göreceğiz. Örneğin, liste1 = [10, 20, 30, 40] ve liste2 = [100, 200, 300, 400, 500] ise, birleştirmeden sonra liste3 = [10, 20, 30, 40, 100, 200 değerini döndürür. , 300 , 400, 500]
Bu görevi gerçekleştirmek için heapq modülünü kullanacağız. Bu modül, standart bir kütüphane modülü olarak Python ile birlikte gelir. Bu nedenle, kullanmadan önce içe aktarmalıyız.
import heapq
Heapq modülünün bazı özellikleri vardır. Aşağıdaki gibidir &
heapq.heapify yöntemi (tekrarlanabilir)
Yinelemeli bir veri kümesini bir yığın veri yapısına dönüştürmek için kullanılır.
heapq.heappush yöntemi (yığın, öğe)
Bu yöntem, öbek içine bir öğe eklemek için kullanılır. Ardından tüm yığın yapısını tekrar kopyalayın.
heapq.heappop yöntemi (heap)
Bu yöntem, bir öğeyi yığının üstünden döndürmek ve kaldırmak ve geri kalanında yığınlama yapmak için kullanılır.
heapq.heappushpop yöntemi (yığın, öğe)
Bu yöntem, bir öğeyi içine eklemek ve yapıştırmak için kullanılır. bir deyim.
heapq.heapreplace yöntemi (heap, element)
Bu yöntem, bir öğeyi tek bir deyime eklemek ve yapıştırmak için kullanılır. Yığın kökünden bir öğeyi kaldırır, ardından öğeyi yığına ekler.
heapq.nlargest (n, yinelenebilir, anahtar = yok) yöntemi
Bu yöntem, öbekten en büyük n öğeyi döndürür.
Yöntem heapq.nsmallest (n, tekrarlanabilir, anahtar = Yok)
Bu yöntem öbekten en küçük n öğeyi döndürmek için kullanılır.
Kod örneği
import heapq first_list = [45, 12, 63, 95, 74, 21, 20, 15, 36] second_list = [42, 13, 69, 54, 15] ilk t_list = sıralanmış (birinci_list) second_list = sıralanmış (ikinci_list) print (`İlk sıralı liste:` + str (ilk_list)) print (`İkinci sıralı liste:` + str (ikinci_liste)) final_list = liste (heapq.merge (ilk_liste, ikinci_list)) print (`Son liste:` + str (final_list))