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

Jawaban:


183

Cara termudah adalah

Section = 'Sec_' + Section

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


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

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

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'

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


2

Untuk kasus penambahan ke akhir string yang ada:

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

menghasilkan

Sec_C_type
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.