# Append de Python: amplía listas fácilmente

El método append se puede utilizar para añadir un elemento al final de una [lista de Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-list/). Si quieres añadir varios elementos a la vez o insertar un elemento en un índice específico, los métodos [Python extend](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/extend-de-python/) y [Python insert](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-insert/) son adecuados para ello.

## ¿Cómo funciona el método append de Python?

Con el método append puedes **añadir un elemento al final de una lista ya existente**. El elemento que añadir puede tener cualquier tipo de dato. Por lo tanto, puedes utilizarlo para rellenar listas de Python con tipos de datos simples (por ejemplo, enteros, números de coma flotante, etc.), así como con tipos de datos más complejos (por ejemplo, listas adicionales).

La sintaxis del método es la siguiente:

```Python
lista.append(element)
```

Aquí `lista` es el nombre de la lista, y `element` es el elemento que se va a añadir. En el siguiente ejemplo, se añaden elementos de distintos tipos de datos a la misma lista:

```Python
lista = [1, 2, 3]
lista.append(4)
número = "Cinco"
lista.append(número)
print(lista)   # Resultado: [1, 2, 3, 4, 'Cinco']
```

Como puedes ver, con `append()`puedes añadir un elemento **de cualquier tipo** a una lista de Python. Puedes introducir el elemento que añadir directamente como un parámetro o crearlo como una variable de antemano y luego pasarlo. Sin embargo, si intentas añadir varios elementos a la vez con `append()`, no funcionará. Puedes verlo en el siguiente ejemplo:

```Python
lista2 = [6, 7]
lista.append(lista2)
print(lista)   # Resultado: [1, 2, 3, 4, 'Cinco', [6, 7]]
```

En este caso, la lista `list2` se pasó como parámetro al llamar al método. En lugar de añadir los elementos de la `lista2`a la otra lista, el método añadió la propia `lista2` como un único elemento. Esto ha dado lugar a una lista anidada, algo que no se buscaba en este caso. Este problema puede resolverse iterando sobre `list2`con un [bucle for en Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/bucle-for-en-python/).

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

Esta solución es poco clara. Por lo tanto, en tales casos, el método Python extend es la mejor opción, ya que puede añadir varios elementos a una lista a la vez.

## Aplicación a otras estructuras de datos

Aunque el método append de Python se utiliza más comúnmente para manejar listas, también se puede aplicar a **otras estructuras de datos comunes**. Sin embargo, hay algunas diferencias importantes que debes tener en cuenta.

### Arrays

Los [arrays en Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/array-en-python/) no forman parte de su librería estándar y tienen que ser importados desde un módulo externo como `numpy` o `array`. Sin embargo, si es importante para ti ser eficiente con el **espacio y la potencia de cálculo**, entonces los arrays son a menudo una mejor opción que las listas. Sin embargo, los arrays están algo más limitados porque solo pueden contener elementos que tengan **el mismo tipo de datos**. Este tipo de datos se determina cuando se crea el array. En consecuencia, con el método append tampoco es posible añadir elementos de distintos tipos de datos a un array. Puedes verlo en el siguiente ejemplo:

```Python
import numpy as np
array1 = np.array('i', [100, 101, 102])
array1.append(103)
print(array1)
# Resultado: array('i', [100, 101, 102, 103])
array1.append('a')   # Esta línea genera un mensaje de error
```

Además, es importante tener en cuenta que los arrays tienen una longitud fija que se establece cuando se crea la estructura de datos y no se puede cambiar después. Así que si creas el array `[1, 2, 3, 4, 5]`, tendrá la longitud 5. Python te permite añadir un elemento adicional a un array con `append()`. Para esto, sin embargo, todo el array es **borrado en segundo plano y reconstruido** con el elemento adicional. Esto debe tenerse en cuenta si se quiere hacer un uso eficiente de los recursos del sistema.

### Deque

Al igual que con las listas y los arrays, también existe un método append para las estructuras de datos deque que se comporta de forma muy similar. Un deque (abreviatura de *doublé-ended queue*) es una lista en la que se pueden añadir o eliminar elementos **tanto al final como al principio**. Aquí el método append se comporta de forma idéntica a una lista, pero hay un método adicional, appendleft(). A diferencia de append(), este método inserta el elemento en el lado izquierdo del deque.

```Python
from collections import deque
numeros_naturales = deque([1, 2, 3])
numeros_naturales.append(4)
numeros_naturales.appendleft(0)
print(numeros_naturales)   # Resultado: deque([0, 1, 2, 3, 4])
```

## Ejemplo de uso: así puedes utilizar append()

Aunque solo puedes añadir elementos individuales al final de una lista con el método append de Python, es la opción perfecta si quieres dar pasos adicionales al añadir un elemento. Puedes verlo en el siguiente ejemplo. Tienes una lista de números grandes. Cada número se divide por 7 y el resto de esta operación se añade a una segunda lista.

```Python
numeros_grandes = [2141, 5683, 456, 789, 120, 101, 89005]
resto = []
for numero in numeros_grandes:
    resto.append(numero % 7)
print(numeros_grandes)    # Resultado: [2141, 5683, 456, 789, 120, 101, 89005]
print(resto)    # Resultado: [6, 6, 1, 5, 1, 3, 0]
```

Como puedes ver, append() es muy útil cuando se necesita tratar con elementos **de forma individual** al añadirlos.

Consejo ¿Quieres implementar tu página web u otra aplicación web de manera rápida, fácil y directa a través de Git? Entonces, [Deploy Now](https://www.ionos.mx/alojamiento/deploy-now "Deploy Now de IONOS") de IONOS es la plataforma perfecta para ti.


This is a markdown version of: [https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-append/](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-append/) for AI/LLM consumption.