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.
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.
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)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
Aprenda como classificar uma lista em Python usando o método sort() e a função sorted(). Descubra exemplos de classificação de chaves personalizadas e ordem reversa.
Como verificar se uma lista está vazia em PythonAprenda as maneiras mais pitônicas de verificar se uma lista está vazia em Python. Compare verificações booleanas implícitas com comparações de comprimento.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Listas Python
Aprenda tudo sobre listas Python. Descubra como criar, fatiar, modificar e iterar nativamente arrays em Python.
Folha de dicas dos métodos de string Python
Um guia de referência completo para manipulação de strings em Python. Domine a formatação, pesquisa, divisão, substituição e verificação de propriedades de string.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.