Ao trabalhar com listas em Python, uma tarefa comum com a qual você pode se deparar é a necessidade de combinar ou concatenar duas listas em uma só. Essa é uma operação fundamental na programação em Python, e existem várias maneiras de alcançá-la. Neste artigo, exploraremos os métodos mais diretos para concatenar duas listas, garantindo que você possa aplicar essas técnicas em seus próprios projetos em Python.
Usando o operador + para Concatenar Listas
A maneira mais simples de concatenar duas listas em Python é usando o operador +
. Esse operador permite que você combine as listas de ponta a ponta, criando uma nova lista que inclui todos os elementos de ambas as listas na ordem em que aparecem.
Aqui está um exemplo básico:
lista_um = [1, 2, 3]
lista_dois = [4, 5, 6]
lista_combinada = lista_um + lista_dois
print(lista_combinada)
TestarSaída:
[1, 2, 3, 4, 5, 6]
Este método cria uma nova lista com uma cópia superficial dos itens de ambas lista_um
e lista_dois
. Se você precisar de cópias profundas das listas (cópias dos objetos dentro das listas, não apenas das referências), você deve usar a função copy.deepcopy()
.
Desempacotando Listas com o operador *
Para aqueles que usam Python 3.5 ou posterior, há um método alternativo que utiliza o operador de desempacotamento *
. Este método não é apenas conciso, mas também versátil, pois pode ser usado com qualquer iterável, não apenas listas.
Veja como você pode usá-lo:
lista_um = [1, 2, 3]
lista_dois = [4, 5, 6]
lista_combinada = [*lista_um, *lista_dois]
print(lista_combinada)
TestarSaída:
[1, 2, 3, 4, 5, 6]
Essa abordagem é particularmente útil quando você quer concatenar diferentes tipos de iteráveis, como listas, tuplas e intervalos. Por exemplo:
minha_lista = [1, 2, 3]
minha_tupla = (4, 5)
meu_intervalo = range(6, 8)
lista_combinada = [*minha_lista, *minha_tupla, *meu_intervalo]
print(lista_combinada)
TestarSaída:
[1, 2, 3, 4, 5, 6, 7]
Encadeando Iteráveis com itertools.chain()
Se você está procurando iterar sobre múltiplas listas sem realmente criar uma nova lista, você pode usar a função itertools.chain()
. Esta é uma maneira eficiente em termos de memória para processar elementos de múltiplos iteráveis sequencialmente.
Aqui está um exemplo de como usar itertools.chain()
:
import itertools
lista_um = [1, 2, 3]
lista_dois = [4, 5, 6]
for item in itertools.chain(lista_um, lista_dois):
print(item)
TestarIsso irá imprimir cada item de ambas lista_um
e lista_dois
sem criar uma nova lista.
Resumo
Concatenar duas listas em Python pode ser feito de várias maneiras. O operador +
é o método mais direto para combinar listas. Para mais flexibilidade e legibilidade, especialmente com Python 3.5 ou superior, você pode usar o operador de desempacotamento *
. Por último, para cenários onde você não precisa de uma nova lista, mas quer iterar sobre múltiplos iteráveis, itertools.chain()
é uma excelente escolha. Cada um desses métodos cria uma cópia superficial dos elementos das listas originais, então esteja atento a isso ao trabalhar com estruturas de dados mais complexas.
Cursos de programação gratuitos com certificado
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
- Conteúdos gratuitos
- Projetos práticos
- Certificados
- +20 mil alunos e comunidade exclusiva
- Materiais didáticos e download de código
Comentários