Como o Python append funciona?

Com o Python append, você pode adicionar um elemento ao final de uma lista já existente. O método aceita elementos de qualquer tipo de dado, tornando-o aplicável tanto em tipos de dados simples, como inteiros e números de ponto flutuante, como em tipos de dados mais complexos, como listas aninhadas.

A sintaxe do método é a seguinte:

lista.append(elemento)
python

Nesse código, lista re­pre­senta o nome da lista e elemento re­pre­senta o elemento a ser adi­ci­o­nado. No exemplo a seguir, elementos de di­fe­ren­tes tipos de dados são adi­ci­o­na­dos à mesma lista:

lista = [1, 2, 3]
lista.append(4)
numero = "Cinco"
lista.append(numero)
print(lista)   # Saída: [1, 2, 3, 4, 'Cinco']
python

Observe que você pode usar append() para adicionar um elemento de qualquer tipo de dado a uma lista em Python. É possível passar o elemento di­re­ta­mente como parâmetro ou criá-lo pre­vi­a­mente como uma variável. No entanto, vale a pena notar que tentar adicionar múltiplos elementos de uma vez usando append() revelará as li­mi­ta­ções do método. Vamos ilustrar essa limitação com um exemplo:

lista2 = [6, 7]
lista.append(lista2)
print(lista)   # Saída: [1, 2, 3, 4, 'Cinco', [6, 7]]
python

Nesse caso, quando o método append() é chamado com a lista2 como parâmetro, ele adiciona a lista2 em si como um único elemento à lista de destino. Isso leva a uma lista aninhada, que pode não apre­sen­tar o resultado pre­ten­dido. Para resolver essa questão, você pode iterar sobre a lista2 com um Python loop for e adicionar cada elemento in­di­vi­du­al­mente à lista de destino.

for numero in lista2:
    lista.append(numero)
print(lista)    # Saída: [1, 2, 3, 4, 'Cinco', [6, 7], 6, 7]
python

A solução é um pouco com­pli­cada. Em tais casos, o Python extend pode ser uma escolha melhor, pois permite a adição de múltiplos elementos a uma lista de uma só vez.

Aplicação a outras es­tru­tu­ras de dados

Embora o Python append seja mais utilizado para gerenciar listas, ele pode ser aplicado a outras es­tru­tu­ras de dados comuns em Python. No entanto, você deve estar ciente de algumas par­ti­cu­la­ri­da­des.

Arrays

Arrays em Python não fazem parte da bi­bli­o­teca padrão (exceto o módulo array) e devem ser im­por­ta­dos de um módulo externo, como numpy. Se efi­ci­ên­cia, em termos de espaço e poder de pro­ces­sa­mento, for uma pri­o­ri­dade, arrays podem ser uma opção superior se com­pa­ra­dos com listas. No entanto, arrays têm certas li­mi­ta­ções, pois só podem conter elementos do mesmo tipo de dado, e esse tipo de dado deve ser es­pe­ci­fi­cado na criação do array. Con­se­quen­te­mente, usar o método append() para adicionar elementos de di­fe­ren­tes tipos de dados a um array não é possível. Vamos ilustrar essa limitação com um exemplo:

import numpy as np
array1 = np.array('i', [100, 101, 102])
array1.append(103)
print(array1)
# Saída: array('i', [100, 101, 102, 103])
array1.append('a')   # Esta linha gera uma mensagem de erro
python

Além disso, é im­por­tante notar que arrays do módulo array têm um com­pri­mento fixo, que é definido quando a estrutura de dados é criada, não podendo ser alterado pos­te­ri­or­mente. Por exemplo, se você criar um array [1, 2, 3, 4, 5], ele terá um com­pri­mento de 5. Embora a linguagem Python permita o uso do método append() para adicionar um elemento extra a um array, essa operação exige que o array inteiro seja excluído e re­cons­truído em segundo plano, para a in­cor­po­ra­ção do elemento adicional. Isso deve ser con­si­de­rado se você pretende utilizar os recursos do sistema de forma eficiente.

Deque

Assim como listas e arrays, es­tru­tu­ras de dados deque em Python se comportam de maneira se­me­lhante. Um deque (double-ended queue) é uma estrutura de dados em que os elementos podem ser adi­ci­o­na­dos ou removidos de ambas as ex­tre­mi­da­des. Nesse contexto, o método append se comporta de forma se­me­lhante ao de uma lista. No entanto, deques oferecem um método adicional, chamado appendleft(). Ao contrário de append(), este método insere o elemento no lado esquerdo do deque.

from collections import deque
numeros_naturais = deque([1, 2, 3])
numeros_naturais.append(4)
numeros_naturais.appendleft(0)
print(numeros_naturais) # saída: deque([0, 1, 2, 3, 4])
python

Exemplo de uso de append()

O método Python append é uma boa escolha para quem precisa executar etapas adi­ci­o­nais ao adicionar elementos a uma lista. Considere esse exemplo ilus­tra­tivo: imagine uma lista contendo números grandes que desejamos dividir pelo número 7. O resto deve ser ar­ma­ze­nado em uma segunda lista:

numeros_grandes = [2141, 5683, 456, 789, 120, 101, 89005]
restante = []
for numero in numeros_grandes:
    restante.append(numero % 7)
print(numeros_grandes)    # saída: [2141, 5683, 456, 789, 120, 101, 89005]
print(restante)    # saída: [6, 6, 1, 5, 1, 3, 0]
python

Como pode ser visto, append() é útil para lidar com elementos e adicioná-los um de cada vez.

Dica

Pro­cu­rando implantar seu site ou outra aplicação web de forma rápida e fácil pelo GitHub? Então o Deploy Now da IONOS é a pla­ta­forma perfeita para você.

Ir para o menu principal