Bagaimana string bisa digabungkan?

117

Bagaimana cara menggabungkan string dengan python?

Sebagai contoh:

Section = 'C_type'

Gabungkan dengan Sec_untuk membentuk string:

Sec_C_type
michelle
sumber

Jawaban:

183

Cara termudah adalah

Section = 'Sec_' + Section

Tetapi untuk efisiensi, lihat: https://waymoot.org/home/python_string/

mpen
sumber
8
Sebenarnya sepertinya sudah dioptimalkan sejak artikel yang Anda kutip. Dari tes cepat dengan timeit, saya tidak dapat mereproduksi hasilnya.
tonfa
3
OP meminta Python 2.4 tetapi tentang versi 2.7, Hatem Nassrat telah menguji (Juli 2013) tiga teknik penggabungan di mana +lebih cepat ketika menggabungkan kurang dari 15 string tetapi dia merekomendasikan teknik lain: joindan %. (komentar saat ini hanya untuk mengkonfirmasi komentar @ tonfa di atas). Cheers;)
olibre
Apa yang terjadi jika Anda menginginkan penggabungan string multi baris?
pyCthon
@pyCthon: Hah? Anda dapat meletakkan jeda baris dalam string menggunakan \natau Anda dapat melakukan kelanjutan baris dengan Python dengan meletakkan \ di akhir baris.
mpen
44

Anda juga bisa melakukan ini:

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

Ini memungkinkan Anda tidak hanya menambahkan, tetapi juga menyisipkan di mana pun dalam string:

section = "C_type"
new_section = "Sec_%s_blah" % section
rytis
sumber
Metode ini juga memungkinkan Anda untuk 'menggabungkan' int ke string, yang tidak mungkin dilakukan secara langsung dengan +(memerlukan pembungkusan int dalam a str())
aland
28

Hanya sebuah komentar, karena seseorang mungkin merasa berguna - Anda dapat menggabungkan lebih dari satu string sekaligus:

>>> a='rabbit'
>>> b='fox'
>>> print '%s and %s' %(a,b)
rabbit and fox
Juliusz
sumber
24

Cara menggabungkan string yang lebih efisien adalah:

Ikuti():

Sangat efektif, tetapi agak sulit dibaca.

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

Pemformatan string:

Mudah dibaca dan dalam banyak kasus lebih cepat daripada penggabungan '+'

>>> Section = 'C_type'
>>> print 'Sec_%s' % Section
>>> 'Sec_C_type'
j7nn7k
sumber
Sepertinya bergabung adalah yang tercepat dan efisien juga waymoot.org/home/python_string
enthusiasticgeek
6

Gunakan +untuk penggabungan string sebagai:

section = 'C_type'
new_section = 'Sec_' + section
codaddict
sumber
2

Untuk kasus penambahan ke akhir string yang ada:

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

menghasilkan

Sec_C_type
Tom Howard
sumber