Dans cette section, nous verrons comment deux listes triées peuvent être combinées à l`aide du module heapq en Python. Par exemple, si list1 = [10, 20, 30, 40] et list2 = [100, 200, 300, 400, 500], alors après concaténation, il retournera list3 = [10, 20, 30, 40, 100, 200 , 300 , 400, 500]
Nous allons utiliser le module heapq pour accomplir cette tâche. Ce module est livré avec Python en tant que module de bibliothèque standard. Par conséquent, nous devons l`importer avant de l`utiliser.
import heapq
Le module heapq a certaines propriétés. C`est comme ci-dessous &
Méthode heapq.heapify (répétable)
Elle est utilisée pour transformer un ensemble de données itératif en une structure de données en tas.
La méthode heapq.heappush (heap, item)
Cette méthode est utilisée pour insérer un élément dans le tas. Copiez ensuite à nouveau toute la structure du tas.
La méthode heapq.heappop (tas)
Cette méthode est utilisée pour renvoyer et supprimer un élément du haut du tas et effectuer un heapify sur le reste.
La méthode heapq.heappushpop (tas, élément)
Cette méthode est utilisée pour insérer et coller un élément dans une instruction.
La méthode heapq.heapreplace (tas, élément)
Cette méthode est utilisée pour insérer et coller un élément dans une seule instruction. Il supprime un élément de la racine du tas, puis insère l`élément dans le tas.
La méthode heapq.nlargest (n, iterable, key = none)
Cette méthode est utilisée pour renvoie le n plus grand élément du tas.
Méthode heapq.nsmallest (n, répétable, clé = Aucun)
Cette méthode est utilisée pour renvoyer le n plus petit élément du tas.
Exemple de code
import heapq first_list = [45, 12, 63, 95, 74, 21, 20, 15, 36] second_list = [42, 13, 69, 54, 15] premier t_list = trié (first_list) second_list = trié (second_list) print (`Première liste triée :` + str (first_list)) print (`Deuxième liste triée :` + str (second_list)) final_list = list (heapq.merge (first_list, second_list)) print (`La liste finale :` + str (final_list))
Sortie
Première liste triée : [12, 15, 20, 21, 36, 45, 63, 74, 95] Deuxième liste triée : [13, 15, 42, 54, 69] Le final liste : [12, 13, 15, 15, 20, 21, 36, 42, 45, 54, 63, 69, 74, 95]