Con Python split, el lenguaje de pro­gra­ma­ción web te ofrece una manera de dividir cadenas en lugares concretos. Puedes de­te­r­mi­nar exac­ta­me­n­te cómo es esta división con los pa­rá­me­tros separator y maxsplit.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7

¿Qué es Python split?

En algunos casos puede ser útil o incluso necesario dividir o separar un Python string. El método apropiado para ello es Python split. La se­pa­ra­ción suele llevarse a cabo a la altura de los espacios de una cadena y puede co­n­tro­lar­se mediante di­fe­re­n­tes pa­rá­me­tros. Hay di­fe­re­n­tes mo­da­li­da­des de Python split que pueden ser útiles de­pe­n­die­n­do de sus apli­ca­cio­nes.

Sintaxis y funciones de Python split

La sintaxis estándar de Python split es la siguiente:

string.split(separator, maxsplit)

De forma opcional, se pueden usar dos pa­rá­me­tros, estos son, separator y maxsplit. Si no se es­pe­ci­fi­ca un parámetro concreto, Python split divide la cadena co­rre­s­po­n­die­n­te en cada espacio. El parámetro separator marca la cadena de ca­ra­c­te­res que se debe separar. Cada vez que se cumple esta condición o marca, se efectúa el co­rre­s­po­n­die­n­te fra­c­cio­na­mie­n­to. El parámetro maxsplit permite es­pe­ci­fi­car la fre­cue­n­cia con la que se debe dividir la cadena. Si no se define este parámetro, el programa realizará un número ilimitado de di­vi­sio­nes.

Ejemplos sencillos de Python split con separator

Estos tres sencillos ejemplos son idóneos para ilustrar cómo se puede segmentar una cadena con Python split. Puedes encontrar la es­tru­c­tu­ra básica en el tutorial de Python.

Seccionar por espacios

En el primer código, la cadena se divide con re­gu­la­ri­dad a la altura de los espacios. El código apropiado para ello es el siguiente:

text = "Este es un texto de ejemplo"
print(text.split())

El resultado de la división tiene el siguiente aspecto:

["Este", "es", "un", "texto", "de", "ejemplo"]

Seccionar por comas

En el segundo ejemplo, se ve que la cadena se separa a la altura de las comas. El código apropiado es el siguiente:

animales = "perro, gato, ratón, caballo"
print(animales.split(", " ))

Con él obtendrás lo siguiente:

["perro", "gato", "ratón", "caballo"]

Seccionar por al­moha­di­llas

También se puede utilizar una al­moha­di­lla para separar los términos entre sí y así seccionar una cadena. Además, se asigna el valor x a Python split. El código co­rre­s­po­n­die­n­te es el siguiente:

coloresstring = "azul#rojo#amarillo#naranja"
colores = color_string.split("#")
print (colores)

El resultado es el siguiente:

["azul", "rojo", "amarillo", "naranja"]

Definir maxsplit para Python split

El segundo parámetro, maxsplit, es igual de sencillo. Los si­guie­n­tes tres ejemplos muestran cómo funciona:

maxsplit a 0

En el primer ejemplo, se fija maxsplit a 0:

colores = "azul, rojo, amarillo, naranja"
print(colores.split(", ", 0))

El resultado se muestra como sigue:

["azul, rojo, amarillo, naranja"]

maxsplit a 1

Sin embargo, si se fija el valor de maxsplit a 1, el resultado cambia. El código co­rre­s­po­n­die­n­te es el siguiente:

colores = "azul, rojo, amarillo, naranja"
print(colores.split(", ", 1))

Este es el resultado tras el Python split:

["azul", "rojo, amarillo, naranja"]

maxsplit a 2

Para dividir dos veces, fija el valor de maxsplit a 2 y ejecuta Python split. El código co­rre­s­po­n­die­n­te es el siguiente:

colores = "azul, rojo, amarillo, naranja"
print(colores.split(", ", 2))

Este es el resultado:

["azul", "rojo", "amarillo, naranja"]

Python split dentro de palabras in­di­vi­dua­les

Aunque la variante estándar es una división mediante comas o espacios, también se pueden dividir las cadenas de ca­ra­c­te­res de de­te­r­mi­na­das palabras. En el siguiente ejemplo, se vuelven a utilizar los nombres de animales y se seccionan a la altura de la letra a. Funciona de la siguiente manera:

animales = "perro, gato, ratón, caballo"
print(animales.split("a"))

El resultado co­rre­s­po­n­die­n­te tiene un aspecto inusual, pero funciona como se esperaba:

["perro, g", "to, r", "tón, c", "b", "llo"]

Si ahora se añade el parámetro maxsplit y se limita así el número de di­vi­sio­nes a 1, se obtiene el siguiente resultado:

animales = "perro, gato, ratón, caballo"
print(animales.split("a", 1))
["perro, g", "to, ratón, caballo"]

Convertir un string en una lista con Python split

Una función popular y muy utilizada de Python split es la co­n­ve­r­sión de un string en una lista de Python. Para ello se necesitan los dos pa­rá­me­tros, separator y maxsplit. En el siguiente ejemplo, la lista de colores se secciona por al­moha­di­llas y se clasifica, gracias a maxsplit, en una lista con un máximo de dos elementos. Para ello, se fija el valor de maxsplit a 1. El código co­rre­s­po­n­die­n­te es el siguiente:

color_string = "azul#rojo#amarillo#naranja"
colores = color_string.split ( "#", 1 )
print (colores)

Esto nos da el siguiente resultado:

["azul", "rojo#amarillo#naranja"]

La di­fe­re­n­cia entre Python split y rsplit

Además de Python split, también existe el método rsplit. Esta variante es similar a la mostrada an­te­rio­r­me­n­te y, en muchos casos, produce exac­ta­me­n­te el mismo resultado. Es­pe­cia­l­me­n­te si no se es­pe­ci­fi­ca el parámetro opcional maxsplit, la salida es idéntica para ambas variantes. Sin embargo, si defines el parámetro separator como none, es decir, lo dejas en blanco, y fijas el valor de maxsplit a 2, verás la di­fe­re­n­cia:

animales = "perro, gato, ratón, caballo"
print(animales.split(None, 2))

Este es el resultado con Python split:

["perro", "gato", "ratón, caballo"]

Python split divide la cadena desde la izquierda.

Si, en cambio, usas rsplit con el siguiente código:

animales = "perro, gato, ratón, caballo"
print(tiere.rsplit(None, 2))

obtendrás el siguiente resultado:

["perro, gato", "ratón", "caballo"]

Es evidente que la división con rsplit se hace desde la derecha.

Ir al menú principal