Como as strings podem ser concatenadas?

117

Como concatenar strings em python?

Por exemplo:

Section = 'C_type'

Concatene-o com Sec_para formar a string:

Sec_C_type
Michelle
fonte

Respostas:

183

A maneira mais fácil seria

Section = 'Sec_' + Section

Mas para eficiência, consulte: https://waymoot.org/home/python_string/

mpen
fonte
8
Na verdade, parece ter sido otimizado desde o artigo que você cita. Em um teste rápido com o timeit, não consegui reproduzir os resultados.
tonfa
3
O OP solicitou Python 2.4, mas sobre a versão 2.7, Hatem Nassrat testou (julho de 2013) três técnicas de concatenação onde +é mais rápido ao concatenar menos de 15 strings, mas ele recomenda as outras técnicas: joine %. (este comentário atual é apenas para confirmar o comentário de @ tonfa acima). Saúde;)
olibre
O que acontece se você quiser uma concatenação de string de várias linhas?
pyCthon
@pyCthon: Hã? Você pode colocar uma quebra de linha em uma string usando \nou pode fazer uma continuação de linha em Python, colocando um \ no final da linha.
mpen
44

você também pode fazer isso:

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

Isso permite que você não apenas anexe, mas também insira em qualquer lugar da string:

section = "C_type"
new_section = "Sec_%s_blah" % section
Rytis
fonte
Este método também permite que você 'concate' um int em uma string, o que não é possível diretamente com +(requer str()
agrupar
28

Apenas um comentário, como alguém pode achar útil - você pode concatenar mais de uma string de uma vez:

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

Maneiras mais eficientes de concatenar strings são:

Junte-se():

Muito eficiente, mas um pouco difícil de ler.

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

Formatação de string:

Fácil de ler e na maioria dos casos mais rápido do que '+' concatenar

>>> Section = 'C_type'
>>> print 'Sec_%s' % Section
>>> 'Sec_C_type'
j7nn7k
fonte
Parece que o join é o mais rápido e eficiente também waymoot.org/home/python_string
entusiasticgeek
6

Use +para concatenação de string como:

section = 'C_type'
new_section = 'Sec_' + section
codadicto
fonte
2

Para casos de anexação ao final de uma string existente:

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

resulta em

Sec_C_type
Tom Howard
fonte