# Como usar Python append para estender listas

## 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:

```python
lista.append(elemento)
```

Nesse código, `lista` representa o nome da lista e `elemento` representa o elemento a ser adicionado. No exemplo a seguir, elementos de diferentes tipos de dados são adicionados à mesma lista:

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

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 diretamente como parâmetro ou criá-lo previamente como uma variável. No entanto, vale a pena notar que tentar adicionar múltiplos elementos de uma vez usando `append()` revelará as limitações do método. Vamos ilustrar essa limitação com um exemplo:

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

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 apresentar o resultado pretendido. Para resolver essa questão, você pode iterar sobre a `lista2` com um Python loop for e adicionar cada elemento individualmente à lista de destino.

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

A solução é um pouco complicada. Em tais casos, o [Python extend](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/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 estruturas de dados

Embora o Python append seja mais utilizado para gerenciar listas, ele pode ser aplicado a **outras estruturas de dados comuns** em Python. No entanto, você deve estar ciente de algumas particularidades.

### Arrays

[Arrays em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/array-em-python/ "Arrays em Python") não fazem parte da biblioteca padrão (exceto o módulo `array`) e devem ser importados de um módulo externo, como `numpy`. Se eficiência, em termos de **espaço e poder de processamento**, for uma prioridade, arrays podem ser uma opção superior se comparados com listas. No entanto, arrays têm certas limitações, pois só podem conter elementos do **mesmo tipo de dado**, e esse tipo de dado deve ser especificado na criação do array. Consequentemente, usar o método `append()` para adicionar elementos de diferentes tipos de dados a um array não é possível. Vamos ilustrar essa limitação com um exemplo:

```python
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
```

Além disso, é importante notar que arrays do módulo `array` têm um comprimento fixo, que é definido quando a estrutura de dados é criada, não podendo ser alterado posteriormente. Por exemplo, se você criar um array `[1, 2, 3, 4, 5]`, ele terá um comprimento 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 reconstruído em segundo plano**, para a incorporação do elemento adicional. Isso deve ser considerado se você pretende utilizar os recursos do sistema de forma eficiente.

### Deque

Assim como listas e arrays, estruturas de dados deque em Python se comportam de maneira semelhante. Um deque (*double-ended queue*) é uma estrutura de dados em que os elementos podem ser adicionados ou removidos **de ambas as extremidades**. Nesse contexto, o método append se comporta de forma semelhante 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.

```python
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])
```

## Exemplo de uso de `append()`

O método Python append é uma boa escolha para quem precisa executar etapas adicionais ao adicionar elementos a uma lista. Considere esse exemplo ilustrativo: imagine uma lista contendo números grandes que desejamos dividir pelo número 7. O resto deve ser armazenado em uma segunda lista:

```python
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]
```

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

Dica Procurando implantar seu site ou outra aplicação web de forma rápida e fácil pelo GitHub? Então o [Deploy Now](https://www.ionos.com/hosting/deploy-now "Deploy Now — IONOS") da IONOS é a plataforma perfeita para você.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-append/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-append/) for AI/LLM consumption.