¿Cómo se pueden concatenar cadenas?


117

¿Cómo concatenar cadenas en Python?

Por ejemplo:

Section = 'C_type'

Concatenarlo con Sec_para formar la cadena:

Sec_C_type

Respuestas:


183

La forma más fácil sería

Section = 'Sec_' + Section

Pero para mayor eficiencia, consulte: https://waymoot.org/home/python_string/


8
En realidad, parece que se ha optimizado desde el artículo que cita. De una prueba rápida con timeit, no pude reproducir los resultados.
tonfa

3
El OP solicitó Python 2.4 pero sobre la versión 2.7, Hatem Nassrat ha probado (julio de 2013) tres técnicas de concatenación donde +es más rápido cuando se concatenan menos de 15 cadenas, pero recomienda las otras técnicas: joiny %. (este comentario actual es solo para confirmar el comentario de @ tonfa anterior). Saludos;)
olibre

¿Qué sucede si desea una concatenación de cadenas de varias líneas?
pyCthon

@pyCthon: ¿Eh? Puede poner un salto de línea en una cadena usando \no puede hacer una continuación de línea en Python poniendo un \ al final de la línea.
mpen

44

también puedes hacer esto:

section = "C_type"
new_section = "Sec_%s" % section

Esto le permite no solo agregar, sino también insertar en cualquier lugar de la cadena:

section = "C_type"
new_section = "Sec_%s_blah" % section

Este método también le permite 'concat' un int a la cadena, lo cual no es posible directamente con +(requiere envolver el int en a str())
aland

28

Solo un comentario, ya que alguien puede encontrarlo útil: puede concatenar más de una cadena de una vez:

>>> a='rabbit'
>>> b='fox'
>>> print '%s and %s' %(a,b)
rabbit and fox

24

Las formas más eficientes de concatenar cadenas son:

unirse():

Muy eficiente, pero un poco difícil de leer.

>>> Section = 'C_type'  
>>> new_str = ''.join(['Sec_', Section]) # inserting a list of strings 
>>> print new_str 
>>> 'Sec_C_type'

Formato de cadena:

Fácil de leer y en la mayoría de los casos más rápido que la concatenación '+'

>>> Section = 'C_type'
>>> print 'Sec_%s' % Section
>>> 'Sec_C_type'

Parece que unirse es el más rápido y eficiente demasiado waymoot.org/home/python_string
enthusiasticgeek

6

Úselo +para la concatenación de cadenas como:

section = 'C_type'
new_section = 'Sec_' + section


2

Para casos de agregar al final de una cadena existente:

string = "Sec_"
string += "C_type"
print(string)

resultados en

Sec_C_type
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.