Wie verkettet man 2 sortierte Arrays in Python mit heapq?

| | | | | | | | | | | | | | | | | | | |

In diesem Abschnitt werden wir sehen, wie zwei sortierte Listen mit dem heapq-Modul in Python kombiniert werden können. Wenn beispielsweise list1 = [10, 20, 30, 40] und list2 = [100, 200, 300, 400, 500] ist, wird nach der Verkettung list3 = [10, 20, 30, 40, 100, 200] zurückgegeben , 300 , 400, 500]

Wir werden das Modul heapq verwenden, um diese Aufgabe zu erfüllen. Dieses Modul wird mit Python als Standardbibliotheksmodul geliefert. Daher müssen wir es importieren, bevor wir es verwenden.

 import heapq 

Das Modul heapq hat einige Eigenschaften. Es ist wie unten &



heapq.heapify-Methode (wiederholbar)

Sie wird verwendet, um einen iterativen Datensatz in eine Heap-Datenstruktur umzuwandeln.

Die heapq.heappush-Methode (Heap, Item)

Diese Methode wird verwendet, um ein Item in den Heap einzufügen. Kopieren Sie dann die gesamte Heap-Struktur erneut.

Die heapq.heappop-Methode (heap)

Diese Methode wird verwendet, um ein Element von der Spitze des Heaps zurückzugeben und zu entfernen und den Rest zu heapifizieren.




Die Methode heapq.heappushpop (Heap, Element)

Diese Methode wird zum Einfügen und Einfügen eines Elements verwendet eine Anweisung.

Die heapq.heapreplace-Methode (heap, element)

Diese Methode wird verwendet, um ein Element in eine einzelne Anweisung einzufügen und einzufügen. Es entfernt ein Element aus der Heap-Wurzel und fügt das Element dann in den Heap ein.

Die Methode heapq.nlargest (n, iterable, key = none)

Diese Methode wird verwendet gibt das n größte Element vom Heap zurück.

Methode heapq.nsmallest (n, wiederholbar, Schlüssel = None)

Diese Methode wird verwendet, um das n kleinste Element vom Heap zurückzugeben.

Codebeispiel

 import heapq first_list = [45, 12, 63, 95, 74, 21, 20, 15, 36] zweite_liste = [42, 13, 69, 54, 15] erste t_liste = sortiert (erste_liste) zweite_liste = sortiert (zweite_liste) print (`Erste sortierte liste:` + str (erste_liste)) print (`Zweite sortierte liste:` + str (second_list)) final_list = list (heapq.merge (first_list, second_list)) print (`The final list:` + str (final_list)) 

Ausgabe

 Erste sortierte Liste: [12, 15, 20, 21, 36, 45, 63, 74, 95] Zweite sortierte Liste: [13, 15, 42, 54, 69] Das endgültige Liste: [12, 13, 15, 15, 20, 21, 36, 42, 45, 54, 63, 69, 74, 95]