Как можно объединить строки?

117

Как объединить строки в Python?

Например:

Section = 'C_type'

Объедините его с, Sec_чтобы сформировать строку:

Sec_C_type
Michelle
источник

Ответы:

183

Самый простой способ был бы

Section = 'Sec_' + Section

Но для эффективности см. Https://waymoot.org/home/python_string/

mpen
источник
8
На самом деле, кажется, он был оптимизирован после цитируемой вами статьи. После быстрого теста с timeit я не смог воспроизвести результаты.
tonfa
3
OP попросил Python 2.4 , но в версии 2.7, Атем Nassrat протестировал (июль 2013) три метода конкатенации , где +быстрее при объединении менее 15 строк , но он рекомендует другие методы: joinи %. (этот текущий комментарий просто подтверждает комментарий @tonfa выше). Cheers;)
olibre
Что произойдет, если вы захотите объединить многострочные строки?
pyCthon
@pyCthon: А? Вы можете поместить разрыв строки в строку, используя, \nили вы можете сделать продолжение строки в Python, поместив \ в конце строки.
mpen
44

вы также можете сделать это:

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

Это позволяет не только добавлять, но и вставлять где угодно в строке:

section = "C_type"
new_section = "Sec_%s_blah" % section
Rytis
источник
Этот метод также позволяет вам "объединить" int в строку, что невозможно напрямую с +(требуется обернуть int в a str())
aland
28

Просто комментарий, так как это может оказаться полезным - вы можете объединить более одной строки за один раз:

>>> a='rabbit'
>>> b='fox'
>>> print '%s and %s' %(a,b)
rabbit and fox
Юлиуш
источник
24

Более эффективные способы объединения строк:

присоединиться():

Очень эффективно, но трудно читать.

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

Форматирование строки:

Легко читается и в большинстве случаев быстрее, чем при объединении символов "+"

>>> Section = 'C_type'
>>> print 'Sec_%s' % Section
>>> 'Sec_C_type'
j7nn7k
источник
Похоже , соединение является самым быстрым и эффективным слишком waymoot.org/home/python_string
enthusiasticgeek
6

Используйте +для конкатенации строк как:

section = 'C_type'
new_section = 'Sec_' + section
codaddict
источник
2

Для случаев добавления в конец существующей строки:

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

приводит к

Sec_C_type
Том Ховард
источник