Original article: Python String split() and join() Methods – Explained with Examples
Cuando trabajas con cadenas en Python, puedes necesitar dividir una cadena en subcadenas. O puedes necesitar unir fragmentos para crear una cadena. Los métodos de cadenas split()
y join()
te ayudan a realizar esas tareas fácilmente.
En este tutorial aprenderás acerca de los métodos split()
y join()
con bastante código de ejemplo.
Como las cadenas en Python son inmutables, puedes llamar métodos en ellas sin modificar la cadena original. Comencemos.
Sintaxis del método split()
en Python
Cuando necesitas dividir una cadena en subcadenas, puedes utilizar el método split()
.
El método split()
actúa sobre una cadena y devuelve una lista de subcadenas. La sintaxis es:
<cadena>.split(sep,maxsplit)
Donde:
<cadena>
es cualquier cadena válida en Python.sep
es el separador que quieres usar para dividir. Debe especificarse como una cadena.
Por ejemplo, si quieres dividir<cadena>
cuando haya una coma, puedes establecersep = ","
.
sep
es un argumento opcional. Por defecto, este método divide las cadenas en espacios en blanco.maxsplit
es un argumento opcional que indica el número de veces que quieres dividir<cadena>
.maxsplit
tiene un valor por defecto de-1
, que divide la cadena en todas las apariciones desep
Si quieres dividir<cadena>
solo cuando aparece la primer coma, puedes establecermaxsplit = 1
.
Y establecer maxsplit = 1
te dejará con dos fragmentos - uno con la sección <cadena>
anterior a la primera coma, y otra con la sección <cadena>
posterior a la primera coma.
Cuando divides una cadena solo una vez, obtienes dos fragmentos. Cuando la divides dos veces obtienes 3 fragmentos. Cuando divides una cadena k
veces, obtienes k+1
fragmentos.
▶ Tomemos algunos ejemplos para ver el método split()
en acción.
Ejemplos del método split()
en Python
Empecemos con my_string
como se muestra a continuación:
mi_cadena = "Yo programo dos horas al día"
Ahora llama el método split()
en mi_cadena
, sin los argumentos sep
ni maxsplit
.
mi_cadena.split()

Puedes ver que mi_cadena
ha sido dividida en todos sus espacios y se devolvió una lista de subcadenas, como se muestra arriba.
▶ Consideremos el siguiente ejemplo. Aquí, mi-cadena
tiene nombres de frutas, separados por comas.
mi_cadena = "Manzanas,Naranjas,Peras,Platanos,Bayas"
Ahora dividamos mi_cadena
en comas - establece sep=","
o solo específica ","
al llamar el método.
mi_cadena.split(",")
Como se esperaba, el método split()
devuelve una lista de frutas, donde cada fruta en mi_cadena
es un elemento de la lista.

▶ Ahora utiliza el argumento opcional maxsplit
estableciendo 2 como valor.
mi_cadena.split(",",2)

Analicemos la lista devuelta.
Observa que mi_cadena
es "Manzanas, Naranjas, Peras, Platanos, Bayas"
y decidimos separarlo por comas (",").
- La primera coma está después de
Manzanas
, y después de la primera división tienes dos elementos,Manzanas
yNaranjas,Peras,Platanos,Bayas
. - La segunda coma está después de
Naranjas
. Tienes 3 elementos,Manzanas
,Naranjas
yPeras, Platanos, Bayas
después de la segunda división. - Hasta este punto, alcanzaste el conteo de 2 para
maxsplit
y no se pueden continuar haciendo divisiones. - Esa es la razón por la que la porción de la cadena después de la segunda coma está unida en un solo elemento en la lista devuelta.
Espero que hayas entendido cómo funciona el método split()
y los argumentos sep
y maxsplit
Sintaxis del método join()
en Python
Ahora que sabes cómo dividir una cadena en subcadenas, es tiempo de aprender como utilizar el método join()
para formar una cadena a partir de subcadenas.
La sintaxis del método join()
es:
<sep>.join(<iterable>)
Donde,
<iterable>
es cualquier iterable de Python que contenga subcadenas, como una lista o una tupla, y<sep>
es el separador sobre el que quieres que se unan las subcadenas.
En esencia, el métodojoin()
une todos los elementos en un<iterable>
usando<sep>
como el separador.
▶ Es turno de los ejemplos.
Ejemplos del método join()
en Python
En la sección anterior sobre el método split()
, dividiste mi_cadena
en una lista según las ocurrencias de comas. Llamemos a esa lista mi_lista
.
Ahora formarás una cadena usando el método join()
para juntar los elementos de la lista devuelta. Los elementos en mi_lista
son todos nombres de frutas.
mi_lista = mi_cadena.split(",")
# mi_cadena se divide en mi_lista de la siguiente forma
['Manzanas', 'Naranjas', 'Peras', 'Platanos', 'Bayas']
? Observa que el separador para unir debe ser especificado como una cadena. Aparecerán errores de sintaxis si no lo haces, como se muestra a continuación.
,.join(mi_lista)

▶ Para unir los elementos en mi_lista
usando una coma como el separador, usa ","
y no ,
. Esto se muestra en el fragmento de código a continuación.
", ".join(mi_lista)
La línea de código de arriba une elementos en mi_lista
usando una coma seguido de un espacio como separador.

Puedes especificar cualquier separador de tu elección. Esta vez utilizarás 3 guiones bajos (___)
para unir los elementos en mi_lista
.
"___".join(mi_lista)

Los elementos en mi_lista
se unieron en una sola cadena, y fueron separados por un ___
.
Y ahora tú sabes como puedes formar una cadena en Python, uniendo subcadenas utilizando el método join()
.
Conclusión
En este tutorial, aprendiste lo siguiente:
<cadena>.split(sep, maxsplit)
divide<cadena>
en las ocurrencias desep
,maxsplit
número de veces,<sep>.join(<iterable>)
une subcadenas en<iterable>
usando<sep>
como el separador.
Espero hayas encontrado útil este tutorial. ¡Feliz día programando!