Curso
Concatenar significa obtener una nueva cadena que contenga ambas cadenas originales. En Python, hay varias formas de concatenar o combinar cadenas. La nueva cadena que se crea se denomina objeto cadena.
Ejemplos de concatenación de cadenas en Python
Veamos ejemplos de 5 métodos diferentes para concatenar cadenas en Python.
1. Uso del operador +
Para fusionar dos cadenas en un único objeto, puedes utilizar el operador +. Este método es sencillo y se utiliza habitualmente.
En el siguiente ejemplo, se concatenan dos cadenas originales: my_string1 y my_string2. Para concatenarlas, usas un operando más para «sumar» ambas cadenas, especificando el espacio y generando el resultado, como se ve a continuación.
my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = my_string1 + " " + my_string2
print(combined_string)
# Expected output: Awesome day for bikini
2. Usando el método join()
El método join() es otra forma de concatenar cadenas, especialmente útil cuando tienes una lista de cadenas que concatenar.
my_strings = ["Awesome day", "for bikini"]
combined_string = " ".join(my_strings)
print(combined_string)
# Expected output: Awesome day for bikini
3. Uso de cadenas f (literales de cadena formateados)
Python 3.6 introdujo las cadenas f, una forma más legible y eficiente de concatenar cadenas e incluir variables dentro de ellas.
my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = f"{my_string1} {my_string2}"
print(combined_string)
# Expected output: Awesome day for bikini
4. Uso del operador %
El operador % te permite dar formato a cadenas y es otro método para la concatenación, aunque se usa con menos frecuencia desde la introducción de las cadenas f.
my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = "%s %s" % (my_string1, my_string2)
print(combined_string)
# Expected output: Awesome day for bikini
5. Usando el método format()
El método format() es versátil y se puede utilizar para concatenar cadenas y para formatear cadenas más complejas.
my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = "{} {}".format(my_string1, my_string2)
print(combined_string)
# Expected output: Awesome day for bikini
Conclusión
En Python, hay varias formas de concatenar cadenas, cada una con sus propias ventajas. El operador + es sencillo y directo, join() es eficaz para las listas, las cadenas f ofrecen legibilidad y rendimiento, % proporciona un enfoque clásico y format() ofrece versatilidad. Elige el método que mejor se adapte a tus necesidades y a la compatibilidad con la versión de Python.
Para obtener más información sobre la manipulación de cadenas en Python, consulta este vídeo de nuestro curso Expresiones regulares en Python.
O echa un vistazo a estos tutoriales:
Preguntas frecuentes
¿Cómo concatenas una lista de cadenas utilizando un separador personalizado?
Puedes utilizar el método join() con el separador que desees.
my_strings = ["Awesome day", "for bikini"]
separator = " - "
combined_string = separator.join(my_strings)
print(combined_string) # Output: Awesome day - for bikini
¿Es posible concatenar cadenas con otros tipos de datos, como enteros o flotantes, directamente?
No, primero debes convertir los otros tipos de datos a cadenas utilizando la función str().
my_string = "The price is"
price = 50
combined_string = my_string + " " + str(price) + "$"
print(combined_string) # Output: The price is 50$
¿Cómo concatenas varias cadenas almacenadas en una lista o una tupla?
Utiliza el método ` join() ` para una concatenación eficiente.
my_list = ["Awesome day", "for bikini", "at the beach"]
combined_string = " ".join(my_list)
print(combined_string) # Output: Awesome day for bikini at the beach
¿Cómo puedes concatenar cadenas basándote en ciertas condiciones?
Utiliza una instrucción « if » para comprobar las condiciones antes de concatenar.
condition = True
my_string1 = "Awesome day"
my_string2 = "for bikini"
if condition:
combined_string = my_string1 + " " + my_string2
else:
combined_string = my_string1
print(combined_string) # Output: Awesome day for bikini
¿Existen diferencias de rendimiento entre el uso del operador +, join(), f-strings, el operador % y format() para la concatenación de cadenas?
Sí, hay diferencias de rendimiento. Por lo general, join() es el método más rápido para concatenar una lista de cadenas, especialmente en un bucle for, ya que minimiza la creación de cadenas intermedias. Las cadenas f y format() también son eficientes y proporcionan legibilidad, mientras que el operador + y el operador % son menos eficientes para concatenaciones múltiples en bucle for.
# Example of efficient concatenation in a loop using join()
strings = ["Awesome", "day", "for", "bikini"]
combined_string = " ".join(strings)
print(combined_string) # Output: Awesome day for bikini
