Python string to list: cómo convertir cadenas en listas

En Python, las listas son objetos mutables, mientras que las cadenas son inmutables. Al convertir una cadena en una lista, puedes modificar, añadir o eliminar caracteres individuales o subsecciones de la cadena.

Hosting
El hosting como nunca lo habías visto
  • Rápido, seguro, flexible y escalable
  • Certificado SSL/DDoS incluido
  • Dominio y asesor personal incluidos

Python string to list: métodos de conversión

Por “Python string to list” se entiende la conversión de una cadena en una lista. En este proceso, la cadena se transforma en una estructura de datos que admite operaciones con listas, lo que permite diversos tipos de manipulación de datos.

A continuación, te presentamos los métodos más frecuentes 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 subcadenas basándose en un separador o patrón específico. Esta es generalmente 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 especifica ningún separador, el método divide la cadena en espacios.
  • maxsplit (opcional): define el número máximo de divisiones que se van a realizar. Si no se especifica o se establece en -1, se realizarán todas las divisiones 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 estructuras 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 independiente en la lista resultante.

text = "Hello"
char_list = list(text)
print(char_list)
python

List Comprehension

La función List Comprehension es una forma concisa de crear listas combinando blucles y condiciones 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 almacenado en char_list. La List Comprehension 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 secuencias parciales de una cadena y guardarlas 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 incremento con el que se realiza el corte; especifica cuántos caracteres se omiten entre cada carácter seleccionado.
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 personalizada que convierte una cadena en una lista de caracteres. 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 coincidencias de una expresión regular en una cadena y devolverlas 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 consecutivos 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 estructura de datos iterable. Si quieres que la lista solo contenga los valores (es decir, los caracteres de la cadena), puedes aplicar enumerate() junto con una List Comprehension tal y como se muestra a continuació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 estructuras 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 correspondiente, en este caso una lista.

ast.literal

El módulo ast (Abstract Syntax Trees) permite evaluar una cadena en una estructura de datos de Python en la que la cadena se interpreta como un literal de Python. Si tienes una cadena que está en un formato literal válido de Python (por ejemplo, una lista, un diccionario, un número, etc.), puedes utilizar ast.literal_eval() para convertir esta cadena en el objeto Python correspondiente 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 explicamos cómo convertir string to datetime.

¿Le ha resultado útil este artículo?
Page top