Tamanho de fonte
Alto contraste
Altura de linha

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

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 6 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.

Imagem de um notebook

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
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov