Cómo convertir una cadena en una lista en Python

Azaz Farooq 30 enero 2023
  1. Convertir una cadena en una lista en Python usando la función list()
  2. Convertir una cadena en una lista en Python usando el método split()
  3. Convertir la cadena a una lista en Python usando la función eval()
  4. Convertir Cadena a Lista en Python usando el método ast
Cómo convertir una cadena en una lista en Python

La lista de Python es mutable; de modo que sus elementos pueden ser sobrescritos, modificados y borrados en cualquier momento durante la ejecución del programa. La cadena es una combinación de caracteres encerrados entre comillas simples o dobles, y no es mutable.

En este artículo, demostraremos diferentes métodos para convertir una cadena en una lista en Python.

Convertir una cadena en una lista en Python usando la función list()

La función list() convierte la cadena en una lista en Python.

Tomemos el siguiente código como ejemplo:

test_str = "Python"
list(test_str)

Resultado:

['P', 'y', 't', 'h', 'o', 'n']

La función list() toma una cadena como argumento y la convierte en una lista. Cada carácter de la cadena se convierte en el elemento individual de la lista.

Convertir una cadena en una lista en Python usando el método split()

Tomemos una cadena de valores separados por comas.

string = "x,y,z"

Ahora dividimos los valores de la cadena en los elementos de la lista.

El código de ejemplo completo es el siguiente:

string = "x,y,z"
output = string.split(",")
output

Resultado:

['x', 'y', 'z']

El ejemplo anterior divide la cadena en el delimitador dado, ,, a una lista. Si no se da el delimitador, utiliza el espacio en blanco como valor por defecto.

Convertir la cadena a una lista en Python usando la función eval()

Este método sólo convertirá la cadena en una lista cuando la cadena sea segura; significa que la cadena en la función eval() se analiza y determina como una expresión de Python. Si no puede ser evaluada como una expresión Python, generará un error. No es un método Pythonico. Podríamos usar los métodos split() o ast en lugar de esto.

Tomemos una cadena especificada para este método.

string = "['xxx','yyy','zzz']"

El código completo del ejemplo es el siguiente:

string = "['xxx','yyy','zzz']"
output = eval(string)
output

Resultado:

['xxx', 'yyy', 'zzz']

Convertir Cadena a Lista en Python usando el método ast

Este método usará la biblioteca ast (Árboles de Sintaxis Abstracta). Con esta librería, usaremos la función eval() para convertir una cadena en una lista.

El código completo de ejemplo es el siguiente:

import ast

string = "['xxx','yyy','zzz']"
output = ast.literal_eval(string)
output

Resultado:

['xxx', 'yyy', 'zzz']

Artículo relacionado - Python List

Artículo relacionado - Python String