文字列をどのように連結できますか?


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年7月)3つの連結技術をどこ+より少ない15個の文字列を連結する際に高速ですが、彼は他の技術をお勧めしますjoin%。(この現在のコメントは、上記の@tonfaのコメントを確認するためのものです)。乾杯;)
olibre 2013年

複数行の文字列を連結したい場合はどうなりますか?
pyCthon 2013年

@pyCthon:えっ?を使用して文字列に改行を入れる\nか、Pythonで行の最後に\を置くことによって行を継続できます。
mpen 2013年

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

文字列を連結するより効率的な方法は次のとおりです。

join():

非常に効率的ですが、少し読みにくいです。

>>> 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
enthusiasticgeek

6

次のよう+に文字列連結に使用します。

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


2

既存の文字列の末尾に追加する場合:

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

結果は

Sec_C_type
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.