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

Respostas:


183

A maneira mais fácil seria

Section = 'Sec_' + Section

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


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

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

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'

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


2

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

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

resulta em

Sec_C_type
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.