Como mesclar duas listas em Python (concatenar e estender)

Aprenda as melhores maneiras de mesclar e combinar duas listas em Python. Compare o operador plus, o método de extensão, a descompactação de lista e as opções de cadeia.

Experimente esta solução no Editor

Visão geral

A combinação de conjuntos de dados de lista é uma operação frequente ao agregar resultados, processar lotes de dados ou anexar itens a uma coleção. Python fornece várias maneiras de mesclar listas, dependendo se você deseja modificar uma lista no local ou criar uma nova lista.

Para criar uma lista totalmente nova combinando duas listas existentes, a abordagem mais direta é usar o operador de concatenação `+` (por exemplo, `lista3 = lista1 + lista2`). Alternativamente, emPython 3.5+, você pode usar a sintaxe de descompactação de lista `[*list1, *list2]`, que é altamente expressiva e permite injetar facilmente elementos adicionais em qualquer lugar na criação da lista.

Se você deseja modificar uma lista existente adicionando elementos de outra lista, o método `.extend()` é a escolha mais eficiente. Isso evita a alocação de memória para uma nova lista e modifica diretamente a lista de destino. Para percorrer listas mescladas com uso eficiente de memória sem duplicar dados na memória, você pode usar `itertools.chain()`.

Saída de código e execução

Este script demonstra a fusão de duas listas usando operadores, técnicas de extensão e descompactação.

merge_lists.py
Experimente no Editor
list_a = [1, 2, 3]
list_b = [4, 5, 6]

# 1. Plus operator (creates a new list)
merged_plus = list_a + list_b
print("Using + operator:", merged_plus)

# 2. Unpacking operator (creates a new list)
merged_unpack = [*list_a, *list_b]
print("Using unpacking:", merged_unpack)

# 3. Extend method (modifies list_a in-place)
list_a.extend(list_b)
print("After extending list_a:", list_a)
Saída terminal
Using + operator: [1, 2, 3, 4, 5, 6]
Using unpacking: [1, 2, 3, 4, 5, 6]
After extending list_a: [1, 2, 3, 4, 5, 6]

Implementação passo a passo

  • Use o operador + para mesclar listas e retornar uma nova lista combinada.
  • Chame list_a.extend(list_b) para anexar todos os elementos de list_b diretamente em list_a.
  • Use o operador de descompactação de asterisco [*list_a, *list_b] para construir uma lista a partir de elementos de ambos.

Perguntas frequentes

Qual é a diferença entre anexar() e estender()?

append() adiciona o argumento da lista inteiro como um único elemento aninhado, enquanto extend() descompacta o argumento da lista e adiciona cada elemento individualmente.

Como faço para mesclar listas enquanto removo duplicatas?

Você pode mesclá-los e depois converter o resultado em um conjunto ou convertê-los primeiro em conjuntos: list(set(list_a) | set(list_b)).

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.