Python Tutorials

Métodos de Lista em Python: append() vs. extend()

Spread the love

Python oferece um rico conjunto de ferramentas para manipular listas, e dois métodos frequentemente usados são append() e extend(). Embora ambos adicionem elementos a uma lista, seu comportamento difere significativamente, impactando a estrutura da sua lista resultante. Entender essa distinção é fundamental para escrever código Python eficiente e previsível.

Sumário:

Adicionando Elementos: O método append()

O método append() adiciona um único elemento ao final de uma lista. O tipo do elemento não importa; pode ser um inteiro, string, outra lista ou qualquer outro objeto Python. A característica chave é que ele adiciona o elemento como uma única unidade indivisível.


my_list = [1, 2, 3]
my_list.append(4)  # Adiciona 4 ao final
print(my_list)  # Saída: [1, 2, 3, 4]

my_list.append([5, 6]) # Adiciona [5, 6] como um único elemento
print(my_list) # Saída: [1, 2, 3, 4, [5, 6]]

Observe que no segundo exemplo, a lista [5, 6] se torna um único elemento *dentro* de my_list; ela não é desempacotada.

Extendendo Listas: O método extend()

Em contraste, extend() recebe um iterável (como uma lista, tupla ou string) como argumento e adiciona cada *item individual* desse iterável ao final da lista. Ele efetivamente desempacota o conteúdo do iterável.


my_list = [1, 2, 3]
my_list.extend([4, 5])  # Adiciona 4 e 5 separadamente
print(my_list)  # Saída: [1, 2, 3, 4, 5]

my_list.extend("abc") # Adiciona 'a', 'b', e 'c' separadamente
print(my_list) # Saída: [1, 2, 3, 4, 5, 'a', 'b', 'c']

Aqui, extend() adiciona cada elemento de [4, 5] e cada caractere de "abc" como elementos separados para my_list.

Uma Comparação Detalhada: append() vs. extend()

A tabela abaixo resume as diferenças principais:

Característica append() extend()
Tipo de Argumento Elemento único Iterável (lista, tupla, string, etc.)
Ação Adiciona um elemento único Adiciona múltiplos elementos de um iterável
Modificação da Lista Aumenta o comprimento da lista em 1 Aumenta o comprimento da lista pelo número de itens no iterável
Eficiência Geralmente mais rápido para adicionar um único item Mais eficiente para adicionar múltiplos itens de um iterável

Aplicações Práticas e Boas Práticas

A escolha entre append() e extend() depende inteiramente do seu objetivo. Use append() quando precisar adicionar um único item à sua lista. Use extend() quando quiser adicionar múltiplos itens de outro iterável, como mesclar duas listas. O uso incorreto pode levar a estruturas de lista inesperadas, portanto, entender suas diferenças é crucial para escrever código Python robusto.

Perguntas Frequentes

  • P: Posso usar append() com um iterável? R: Sim, mas o iterável inteiro será adicionado como um único elemento.
  • P: Posso usar extend() com um elemento único? R: Sim, mas é menos eficiente que append(), pois Python tratará o elemento único como um iterável de um elemento.
  • P: Qual método é mais rápido? R: append() é geralmente mais rápido, particularmente para adicionar um único elemento, pois evita a sobrecarga de iteração. A diferença geralmente é insignificante, a menos que você esteja trabalhando com listas excepcionalmente grandes.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *