Ao trabalhar com listas em Python, você frequentemente se encontrará na necessidade de adicionar elementos a elas. Python oferece dois métodos para fazer isso: append()
e extend()
. Embora possam parecer semelhantes à primeira vista, eles servem a propósitos diferentes e podem afetar suas listas de maneiras distintas. Vamos entender as diferenças entre esses dois métodos.
Usando append() para Adicionar Elementos a uma Lista
O método append()
em Python é bem direto: ele adiciona seu argumento como um único elemento ao final de uma lista. O comprimento da lista aumenta em um, independentemente do tipo de elemento que você está adicionando. Isso significa que se você adicionar uma lista a outra lista, a lista adicionada se torna um único elemento no final da lista original.
Aqui está um exemplo simples:
minha_lista = ['foo', 'bar']
minha_lista.append('baz')
print(minha_lista)
# Saída: ['foo', 'bar', 'baz']
TestarNote como ‘baz’ é adicionado como um único elemento. Agora, vamos adicionar outra lista:
minha_lista = ['foo', 'bar']
outra_lista = [1, 2, 3]
minha_lista.append(outra_lista)
print(minha_lista)
# Saída: ['foo', 'bar', 'baz', [1, 2, 3]]
TestarA outra_lista
inteira é adicionada como um único elemento, que agora é o último elemento da minha_lista
.
Usando extend() para Mesclar Listas
Por outro lado, o método extend()
recebe um iterável (como uma lista, conjunto, tupla ou string) e adiciona cada um de seus elementos à lista, efetivamente concatenando-os. Isso significa que o comprimento da lista aumentará pelo número de elementos no iterável que você passar para extend()
.
Veja como você pode usar extend()
:
minha_lista = ['foo', 'bar']
outra_lista = [1, 2, 3]
minha_lista.extend(outra_lista)
print(minha_lista)
# Saída: ['foo', 'bar', 1, 2, 3]
TestarCada elemento da outra_lista
é adicionado individualmente à minha_lista
. Se você usar extend()
com uma string, cada caractere é adicionado como um elemento separado:
minha_lista = ['foo', 'bar']
minha_lista.extend('baz')
print(minha_lista)
# Saída: ['foo', 'bar', 'b', 'a', 'z']
TestarConsiderações de Desempenho
Quando se trata de desempenho, append()
tem complexidade de tempo constante, O(1), o que significa que é muito eficiente. extend()
, embora também seja eficiente, tem uma complexidade de tempo de O(k), onde k é o número de elementos no iterável. Se você está adicionando elementos de um iterável, extend()
é otimizado e geralmente será mais rápido do que usar append()
em um loop.
Resumo
Em resumo, use append()
quando você tiver um único elemento para adicionar ao final de uma lista, e ele será adicionado como uma única entrada. Use extend()
quando você tiver vários elementos em um iterável que deseja adicionar à lista individualmente. Lembrar dessas diferenças ajudará você a escrever um código Python mais claro e eficiente.
Neste artigo, exploramos as funcionalidades distintas dos métodos append()
e extend()
em listas de Python. Vimos que append()
é ideal para adicionar um único elemento, enquanto extend()
é o método ideal para mesclar uma lista com outro iterável. Entendendo e aplicando esses métodos apropriadamente, você pode manipular listas de forma eficaz em seus esforços de programação em Python.
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