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


117

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

Например:

Section = 'C_type'

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

Sec_C_type

Ответы:


183

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

Section = 'Sec_' + Section

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


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

Этот метод также позволяет вам "объединить" 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'

Похоже , соединение является самым быстрым и эффективным слишком waymoot.org/home/python_string
enthusiasticgeek

6

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

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


2

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

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

приводит к

Sec_C_type
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.