Como concatenar 2 arrays classificados em Python usando heapq?

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

Nesta seção, veremos como duas listas classificadas podem ser combinadas usando o módulo heapq em Python. Por exemplo, se lista1 = [10, 20, 30, 40] e lista2 = [100, 200, 300, 400, 500], então após a concatenação retornará lista3 = [10, 20, 30, 40, 100, 200 , 300 , 400, 500]

Usaremos o módulo heapq para realizar esta tarefa. Este módulo vem com o Python como um módulo de biblioteca padrão. Portanto, devemos importá-lo antes de usá-lo.

 import heapq 

O módulo heapq possui algumas propriedades. É como abaixo &



método heapq.heapify (repetível)

Ele é usado para transformar um conjunto de dados iterativo em uma estrutura de dados heap.

O método heapq.heappush (heap, item)

Este método é usado para inserir um item no heap. Em seguida, copie toda a estrutura do heap novamente.

O método heapq.heappop (heap)

Esse método é usado para retornar e remover um item do topo do heap e executar heapify no restante.




O método heapq.heappushpop (heap, elemento)

Este método é usado para inserir e colar um elemento em uma instrução.

O método heapq.heapreplace (heap, elemento)

Este método é usado para inserir e colar um elemento em uma única instrução. Ele remove um elemento da raiz do heap e, em seguida, insere o elemento no heap.

O método heapq.nlargest (n, iterable, key = none)

Este método é usado para retorna o n maior elemento do heap.

Método heapq.nsmallest (n, repetível, chave = Nenhum)

Este método é usado para retornar o n menor elemento do heap.

Exemplo de código

 import heapq first_list = [45, 12, 63, 95, 74, 21, 20, 15, 36] second_list = [42, 13, 69, 54, 15] firs t_list = ordenado (first_list) second_list = ordenado (second_list) print (`Primeira lista ordenada:` + str (first_list)) print (`Segunda lista ordenada:` + str (second_list)) final_list = list (heapq.merge (first_list, second_list)) print (`A lista final:` + str (final_list)) 

Saída

 Primeira lista classificada: [12, 15, 20, 21, 36, 45, 63, 74, 95] Segunda lista classificada: [13, 15, 42, 54, 69] O final lista: [12, 13, 15, 15, 20, 21, 36, 42, 45, 54, 63, 69, 74, 95]