Tutoriais

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

Ana Maria Gomes 03 abr Básico 5xp
Compartilhar

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.

Cursos gratuitos para continuar aprendendo

Curso
Grátis · 2h 13min

Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!

Curso
Grátis · 3h 47min

Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!

Curso
Grátis · 4h 11min

Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!

Ver todos os cursos

0 comentários

Exclusivo PRO
Faça parte da discussão

Comente e participe da conversa

Crie sua conta gratuita e compartilhe sua opinião nos comentários.

Entre para a Asimov