字符串如何串联?


117

如何在python中连接字符串?

例如:

Section = 'C_type'

将其与Sec_形成字符串:

Sec_C_type

Answers:


183

最简单的方法是

Section = 'Sec_' + Section

但为了提高效率,请参阅:https : //waymoot.org/home/python_string/


8
实际上,自您引用该文章以来,它似乎已经进行了优化。通过timeit的快速测试,我无法重现结果。
2011年

3
OP要求使用Python 2.4,但关于2.7版本,Hatem Nassrat已测试(2013年7月)三种连接技术+当连接少于15个字符串时,连接速度更快,但他建议使用其他技术:join%。(当前的评论只是为了确认@tonfa的评论)。干杯;)
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'concat'转换为字符串,这是无法直接实现的+(需要将int包装在中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'

似乎join也是最快,最有效的方式waymoot.org/home/python_string
狂热的人,

6

使用+字符串连接为:

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


2

对于附加到现有字符串末尾的情况:

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

结果是

Sec_C_type
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.