En Python, las listas son objetos mutables, mientras que las cadenas son in­mu­ta­bles. Al convertir una cadena en una lista, puedes modificar, añadir o eliminar ca­ra­c­te­res in­di­vi­dua­les o su­b­se­c­cio­nes de la cadena.

Hosting
Hosting de primera al mejor precio
  • 3x más rápido, ahora un 60 % de ahorro
  • Alta di­s­po­ni­bi­li­dad >99.99 %
  • Solo en IONOS: hasta 500 GB incluidos

Python string to list: métodos de co­n­ve­r­sión

Por “Python string to list” se entiende la co­n­ve­r­sión de una cadena en una lista. En este proceso, la cadena se tra­n­s­fo­r­ma en una es­tru­c­tu­ra de datos que admite ope­ra­cio­nes con listas, lo que permite diversos tipos de ma­ni­pu­la­ción de datos.

A co­n­ti­nua­ción, te pre­se­n­ta­mos los métodos más fre­cue­n­tes de convertir una cadena de texto en una lista:

split()

El método Python split se encarga de dividir una cadena en una lista de su­b­ca­de­nas basándose en un separador o patrón es­pe­cí­fi­co. Esta es ge­ne­ra­l­me­n­te su sintaxis:

string.split(sep=None, maxsplit=-1)
python
  • string: es la cadena original.
  • sep (opcional): es el separador en el que se divide la cadena. Si no se es­pe­ci­fi­ca ningún separador, el método divide la cadena en espacios.
  • maxsplit (opcional): define el número máximo de di­vi­sio­nes que se van a realizar. Si no se es­pe­ci­fi­ca o se establece en -1, se rea­li­za­rán todas las di­vi­sio­nes posibles.

Este ejemplo

text = "blue,green,yellow,red"
print(f "List of colors = {text.split(',')}")
python

da como resultado

List of colors = ['blue', 'green', 'yellow', 'red']
python

Los f strings son un método de Python string format y permiten incluir cualquier expresión como marcador de posición entre llaves. Así, en este caso se puede unir el resultado de la función split() con la cadena "List of colors = " (lista de colores).

list()

La función Python list se utiliza para convertir distintas es­tru­c­tu­ras de datos, incluidas las cadenas, en listas. Al pasar una cadena como argumento a la función list(), cada letra o carácter de la cadena se almacena como un elemento in­de­pe­n­die­n­te en la lista re­su­l­ta­n­te.

text = "Hello"
char_list = list(text)
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o']
python

List Co­m­prehe­n­sion

La función List Co­m­prehe­n­sion es una forma concisa de crear listas co­m­bi­na­n­do blucles y co­n­di­cio­nes en una sola línea de código. Por ejemplo:

text = "Hello World"
char_list = [char for char in text]
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
python

En este caso, se ha utilizado la cadena "Hello World". A partir de ella se ha creado una lista y se ha al­ma­ce­na­do en char_list. La List Co­m­prehe­n­sion ha recorrido entonces cada letra char de la cadena text y la ha añadido como un único elemento a la lista char_list.

String slicing

El string slicing o corte de cadena es otro de los métodos Python string to list. Se encarga de extraer las se­cue­n­cias parciales de una cadena y gua­r­dar­las como elementos de una lista.

substring_list = string[start:stop:step]
python
  • start: el índice en el que comienza el slicing o corte; la porción de la cadena comienza en el carácter situado en esta posición.
  • stop: el índice en el que termina el corte; la secuencia termina antes del carácter situado en esta posición.
  • step (opcional): el paso o in­cre­me­n­to con el que se realiza el corte; es­pe­ci­fi­ca cuántos ca­ra­c­te­res se omiten entre cada carácter se­le­c­cio­na­do.
def convert(string):
    list1 = []
    list1[:0] = string
    return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
python

convert(string) es una función pe­r­so­na­li­za­da que convierte una cadena en una lista de ca­ra­c­te­res. Cuando se ejecuta la expresión list1[:0] = string, cada carácter de la cadena se añade a la lista vacía list1.

re.findall()

La función re.findall() es un método Python string to list que puedes utilizar para encontrar todas las coin­ci­de­n­cias de una expresión regular en una cadena y de­vo­l­ve­r­las como una lista.

import re
text = "123 and 456 are numbers."
numbers_list = re.findall(r'\d+', text)
print(numbers_list)
# Output: ['123', '456']
python

La expresión regular r'\d+' busca uno o más dígitos co­n­se­cu­ti­vos en el texto y los devuelve como elementos separados en una lista.

enumerate()

enumerate() es una función integrada de Python que sirve para obtener tanto el índice como el valor de cada elemento en una es­tru­c­tu­ra de datos iterable. Si quieres que la lista solo contenga los valores (es decir, los ca­ra­c­te­res de la cadena), puedes aplicar enumerate() junto con una List Co­m­prehe­n­sion tal y como se muestra a co­n­ti­nua­ción:

text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']
python

JSON

JSON es un módulo que se utiliza para leer y escribir datos JSON y para convertir es­tru­c­tu­ras de datos Python en formato JSON y viceversa. Con la función Python string to list, el módulo JSON te permite convertir un string en un objeto de Python que podrás usar en tu código.

import json
json_string = '[1, 2, 3, 4, 5]'
list_from_json = json.loads(json_string)
print(list_from_json)
# Output: [1, 2, 3, 4, 5]
python

La función json.loads() analiza la cadena JSON y la convierte en un objeto Python co­rre­s­po­n­die­n­te, en este caso una lista.

ast.literal

El módulo ast (Abstract Syntax Trees) permite evaluar una cadena en una es­tru­c­tu­ra de datos de Python en la que la cadena se in­te­r­pre­ta como un literal de Python. Si tienes una cadena que está en un formato literal válido de Python (por ejemplo, una lista, un di­c­cio­na­rio, un número, etc.), puedes utilizar ast.literal_eval() para convertir esta cadena en el objeto Python co­rre­s­po­n­die­n­te de manera segura.

import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]
python

En la Digital Guide también te ex­pli­ca­mos cómo convertir string to datetime.

Ir al menú principal