¿Qué es str.join() y cómo usarlo para unir cadenas en Python?

| Última modificación: 3 de diciembre de 2024 | Tiempo de Lectura: 2 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Trabajar con cadenas en Python nos trae miles de situaciones en las que debemos saber cómo actuar y qué hacer o sugerir. Una de esas situaciones es la de unir varias cadenas o elementos en una sola, y para ello se tiene str.join(), una poderosa herramienta que combina elementos de una secuencia en un solo string. ¿Sabes cómo funciona?

str.join() python

¿Qué es str.join()?

El método str.join() es un método de las cadenas en Python que permite unir todos los elementos de un iterable (como una lista, tupla o incluso un diccionario) en una sola cadena de texto. Lo interesante de join() es que puedes elegir el separador que se utilizará entre los elementos, lo que te da un control total sobre cómo quieres que se forme el string resultante.

La sintaxis básica de str.join() es la siguiente:

string.join(iterable)
  • string: Es la cadena que se usará como separador entre los elementos del iterable.
  • iterable: Cualquier objeto que sea iterable (listas, tuplas, diccionarios, etc.), y cuyos elementos sean cadenas de texto.

Por ejemplo, si tenemos una lista de palabras y queremos unirlas con un espacio entre ellas, podríamos usar join() de la siguiente manera:

words = ["Hola", "mundo", "Python"]
result = " ".join(words)
print(result) # Output: Hola mundo Python

¿Cómo usar str.join() con diferentes tipos de iterables?

El método join() es muy versátil y puede trabajar con diferentes tipos de datos, siempre que los elementos del iterable sean cadenas. Algunas de esas aplicaciones son:

  • Unir elementos de una lista: Imagina que tienes una lista de nombres y deseas crear una cadena con los nombres separados por comas. Así lo harías:
names = ["Juan", "Ana", "Carlos"]
result = ", ".join(names)
print(result) # Output: Juan, Ana, Carlos
  • Unir elementos de una tupla: El método str.join() también se puede usar con tuplas. Veamos cómo podemos usar el símbolo # como separador:
my_tuple = ("John", "Peter", "Vicky")
result = "#".join(my_tuple)
print(result) # Output: John#Peter#Vicky
  • Unir elementos de un diccionario: Aunque en un diccionario no estamos tratando directamente con una secuencia de cadenas, puedes utilizar str.join() para concatenar las claves o los valores del diccionario:
my_dict = {"name": "John", "age": "30", "country": "Norway"}
result = "-".join(my_dict)
print(result) # Output: name-age-country

En este caso, estamos uniendo las claves del diccionario, pero podríamos hacer lo mismo con los valores si lo prefieres.

Uso de str.join() con pandas

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Si alguna vez trabajas con pandas, puedes utilizar el equivalente Series.str.join(), que funciona de manera muy similar a str.join(). Este método permite unir las listas que se encuentran dentro de una Serie o índice, utilizando un delimitador específico.

Un ejemplo con pandas podría ser:

import pandas as pd
import numpy as np

s = pd.Series([['lion', 'elephant', 'zebra'],
[1.1, 2.2, 3.3],
['cat', np.nan, 'dog']])

result = s.str.join('-')
print(result)

En este caso los elementos de cada lista se unen con el guion -, pero si la lista contiene elementos no cadenas, el resultado será NaN.

Si te interesa la programación y quieres unirte a la mejor comunidad tecnológica de Europa y Latinoamérica, no dudes en contactar a Keepcoding y acceder al bootcamp en programación inicial, en donde podrás sentar todas las bases para emprender un camino en donde vas a estar acompañado de los mejores profesionales. ¡Apúntate y da el primer paso ahora!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.