2010-04-26 2 views

ответ

162

Самый простой способ будет

Section = 'Sec_' + Section 

Но для повышения эффективности, см: http://www.skymind.com/~ocrow/python_string/

+8

На самом деле, кажется, были оптимизированы, так как статьи вы процитировать. Из быстрого теста с использованием timeit я не смог воспроизвести результаты. – tonfa

+3

OP запросил Python 2.4, но о версии 2.7, Hatem Nassrat проверил (июль 2013 г.) [три метода конкатенации] (http://leadsift.com/python-string-concatenation/), где '+' быстрее при конкатенации меньше чем 15 строк, но он рекомендует другие методы: 'join' и'% '. (этот текущий комментарий должен просто подтвердить комментарий @ tonfa выше). Cheers;) – olibre

+0

Что произойдет, если вам понадобится конкатенация нескольких строк? – pyCthon

5

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

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

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

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

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

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

Более эффективные способы конкатенации строк являются:

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

Очень ЭФФЕКТИВНАЯ, но немного трудно читать.

>>> 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' 
+0

Похоже, что соединение является самым быстрым и эффективным тоже http: // waymoot. орг/дома/python_string / – enthusiasticgeek

29

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

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

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

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

результаты в

Sec_C_type 
Смежные вопросы