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 establecer  sep = ",".
  • 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 de sep
Si quieres dividir <cadena> solo cuando aparece la primer coma, puedes establecer maxsplit = 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()
1-8

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.

2

▶ Ahora utiliza el argumento opcional  maxsplit estableciendo 2 como valor.

mi_cadena.split(",",2)
3

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 y Naranjas,Peras,Platanos,Bayas.
  • La segunda coma está después de Naranjas. Tienes 3 elementos, Manzanas, Naranjas y Peras, 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étodo join() 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)
image-49

▶ 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.

4

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)
5

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 de sep, 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!