Entendendo a Diferença Entre os Métodos append() e extend()

Avatar de Ana Maria Ana Maria
3 minutos de leitura 3 meses atrás

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']
Testar

Note 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]]
Testar

A 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]
Testar

Cada 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']
Testar

Consideraçõ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.

Curso Gratuito

Curso gratuito de Python

Do zero ao primeiro projeto em apenas 2 horas

Criar conta gratuita

Comentários

Comentar
Você tem o Acesso Básico.
Libere seu acesso ao suporte dos professores Garanta seu acesso PRO para tirar todas suas dúvidas com nossa equipe.
Seja PRO