# Python list: cómo funcionan las listas en Python

Las listas de Python ayudan a estructurar el contenido y a leerlo posteriormente. A través de varios métodos puedes editar, ordenar, ampliar o acortar tu lista.

## ¿Qué son las listas de Python?

Si quieres almacenar información compleja de forma organizada, lo mejor es optar por una lista de Python. No solo se pueden almacenar datos simples o diferentes tipos de objetos en las listas de Python, también se pueden anidar diferentes valores y listas. Una lista de Python **puede construirse de forma homogénea o heterogénea**. La lista homogénea solo contiene datos de un único tipo. Si, por el contrario, en la lista se concatenan diferentes tipos de archivos, se considera que esta tiene una estructura heterogénea. Su versatilidad convierte a las listas de Python en una alternativa excelente a un array. En nuestro artículo sobre [arrays en Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/array-en-python/ "Array en Python"), puedes descubrir cómo funciona.

## ¿Cómo se construyen las listas en Python?

Una lista de Python comprende un número indefinido de valores. Estos están contenidos en [Python Strings](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-string/) por medio de corchetes y separados por comas.

```none
cars = ['audi', 'ford', 'fiat', 'bentley']
```

Para que la lista de Python pueda ser leída de nuevo más adelante, cada valor de ella recibe un número de índice. Para filtrar un determinado valor de la lista, escribe a continuación de la lista de Python el número de índice correspondiente entre corchetes. A continuación, obtendrás como resultado el valor que buscas. Ten en cuenta que en este [lenguaje de programación web](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/lenguajes-de-programacion-web/ "Lenguajes de programación web") siempre se empieza a contar desde 0. El contenido de la lista también puede ser duplicado y dividido mediante un [Python split](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/python-split/).

```none
first = cars[0]
assert first == 'audi'
```

## Ejemplo de lista en Python

Con un sencillo ejemplo, puedes ver cómo se construye una lista en Python y cómo se lee posteriormente. Para esta lista, cogemos los nombres de los países y los ponemos entre corchetes:

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
```

Si ahora quieres mostrar los países de esta lista de Python que no se encuentran en Europa, introduce lo siguiente:

```none
print(countries[1])
print(countries[4])
```

El resultado será el siguiente:

```none
"Uruguay"
"Ghana"
```

## Sublistas con Python

Una lista de Python también puede contener sublistas. Se utilizan como elementos cotidianos. Tienen el siguiente aspecto:

```none
countries_capitals = [
    ["France", "Uruguay", "Germany", "Ghana"],
    ["Paris", "Montevideo", "Berlin", "Accra"]
]
first_country = countries_capitals[0][0]
assert first_country == "France"
print(first_country)
```

El resultado es el siguiente:

```none
"France"
```

Si quieres emitir una capital, introduce lo siguiente:

```none
capitals = countries_capitals[1]
first_capital = capitals[0]
print (f"The first capital is {first_capital}.")
```

El resultado obtenido es el siguiente:

```none
The first capital is Paris.
```

## Ampliar las listas de Python

Si quieres ampliar tu lista de Python, tienes tres opciones: append, extend e insert. Te vamos a enseñar los distintos métodos.

### Con append

Con append se amplía la lista con un elemento. Funciona de la siguiente manera:

```none
countries = ["France", "Uruguay", "Germany", "Ghana"]
countries.append("Japan")
print(countries)
```

El resultado ahora es el siguiente:

```none
['France', 'Uruguay', 'Germany', 'Ghana', 'Japan']
```

### Con extend

Si quieres añadir varios elementos a tu lista de Python, haz uso de extend.

```none
countries = ["France", "Uruguay", "Germany", "Ghana", "Japan"]
countries.extend(["Italy", "Canada", "Australia"])
print(countries)
```

Este código obtiene el siguiente resultado:

```none
['France', 'Uruguay', 'Germany', 'Ghana', 'Japan', 'Italy', 'Canada', 'Australia']
```

### Con insert

Si quieres insertar un nuevo elemento en mitad de tu lista de Python, insert es tu mejor opción. Aquí no solo se especifica el nuevo elemento, sino que se le asigna directamente un número de índice que lo posiciona donde te interese.

```none
countries = ["France", "Uruguay", "Germany", "Ghana"]
countries.insert(1, "China")
assert countries[1] == "China"
print(countries)
```

Esto emite el siguiente resultado:

```none
['France', 'China', 'Uruguay', 'Germany', 'Ghana']
```

Como recordatorio. 'France' contiene el número de índice 0 y permanece en primera posición.

## Eliminar elementos de una lista de Python

Para eliminar elementos de una lista de Python, utiliza remove o del.

### Con remove

Con remove puedes eliminar un elemento si aparece entre corchetes. Sin embargo, si este elemento aparece varias veces dentro del corchete, solo se eliminará la primera de ellas.

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
countries.remove("Germany")
print(countries)
```

Esto emite el siguiente resultado:

```none
['France', 'Uruguay', 'Netherlands', 'Ghana']
```

### Con del

Como alternativa, también puedes utilizar “del” para eliminar un elemento de tu lista de Python. Con este método no se especifica el elemento en sí, sino que se elimina a través de su número de índice asociado.

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
del countries[2]
assert "Germany" not in countries
print(countries)
```

El resultado coincide con el de remove.

## Ordenar listas de Python

Ayudándote de la función “sort” puedes ordenar tu lista sin mucho esfuerzo. Si, por ejemplo, quieres ordenar los países de la lista alfabéticamente, se haría de la siguiente manera:

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
countries.sort()
print(countries)
```

Ahora el resultado es el siguiente:

```none
['France', 'Germany', 'Ghana', 'Netherlands', 'Uruguay']
```

Para conseguir un orden alfabético descendente, introduce la siguiente información en los paréntesis vacíos vistos anteriormente:

```none
countries = ["France", "Uruguay", "Germany", "Netherlands", "Ghana"]
countries.sort(reverse = True)
print(countries)
```

De este modo, los países aparecerán en el orden opuesto, es decir, desde “Uruguay” hasta “France”.

## Un vistazo a los diferentes métodos

Puedes utilizar los siguientes métodos en tu lista de Python. Probablemente ya conozcas algunos de ellos si leíste el [tutorial para aprender Python](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/tutorial-de-python/).

<table>
  <thead>
    <tr>
      <th>Método</th>
      <th>Descripción</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Append</td>
      <td>Añade un elemento al final de la lista.</td>
    </tr>
    <tr>
      <td>Clear</td>
      <td>Elimina todos los elementos de la lista de Python.</td>
    </tr>
    <tr>
      <td>Copy</td>
      <td>Realiza una copia de tu lista.</td>
    </tr>
    <tr>
      <td>Count</td>
      <td>Cuenta todos los elementos con un determinado valor en la lista de Python.</td>
    </tr>
    <tr>
      <td>Extend</td>
      <td>Añade todos los elementos de otra lista a la lista actual.</td>
    </tr>
    <tr>
      <td>Index</td>
      <td>Busca un elemento específico dentro de la lista de Python y retorna su número de índice.</td>
    </tr>
    <tr>
      <td>Insert</td>
      <td>Inserta un elemento en una posición determinada.</td>
    </tr>
    <tr>
      <td>Pop</td>
      <td>Elimina un elemento de una posición concreta y lo utiliza como valor de retorno.</td>
    </tr>
    <tr>
      <td>Remove</td>
      <td>Elimina el primer elemento que tiene un valor específico.</td>
    </tr>
    <tr>
      <td>Reverse</td>
      <td>Invierte el orden de la lista de Python.</td>
    </tr>
    <tr>
      <td>Sort</td>
      <td>Ordena la lista.</td>
    </tr>
  </tbody>
</table>


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