Dizeler nasıl birleştirilebilir?


117

Python'da dizeler nasıl birleştirilir?

Örneğin:

Section = 'C_type'

Dizeyi Sec_oluşturmak için ile birleştirin:

Sec_C_type

Yanıtlar:


183

En kolay yol olurdu

Section = 'Sec_' + Section

Ancak verimlilik için bkz: https://waymoot.org/home/python_string/


8
Aslında alıntı yaptığınız makaleden beri optimize edilmiş görünüyor. Timeit ile yapılan hızlı bir testten sonuçları yeniden oluşturamadım.
tonfa

3
OP Python 2.4 istedi ama sürümü 2.7 hakkında Hatem Nassrat test etti (2013 Temmuz) üç birleştirme teknikleri burada +az 15 dizeleri bitiştirmek zaman hızlıdır ancak diğer teknikleri önerir: joinve %. (bu mevcut yorum sadece @ tonfa'nın yukarıdaki yorumunu onaylamak içindir). Şerefe;)
olibre

Çok satırlı bir dizi birleştirme istiyorsanız ne olur?
pyCthon

@pyCthon: Ha? Kullanarak bir dizgeye satır sonu koyabilir \nveya Python'da satırın sonuna bir \ koyarak satır devam ettirebilirsiniz.
mpen

44

bunu da yapabilirsiniz:

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

Bu, yalnızca eklemenize değil, aynı zamanda dizede istediğiniz yere eklemenize de olanak tanır:

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

Bu yöntem aynı zamanda bir int'i dizgeye 'birleştirmenize' izin verir, ki bu doğrudan mümkün değildir +( str()
int'in

28

Birisi yararlı bulabileceği için sadece bir yorum - tek seferde birden fazla dizeyi birleştirebilirsiniz:

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

24

Dizeleri birleştirmenin daha verimli yolları şunlardır:

katılmak():

Çok etkili, ancak okuması biraz zor.

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

Dize biçimlendirme:

Okuması kolaydır ve çoğu durumda "+" birleştirmeden daha hızlıdır

>>> Section = 'C_type'
>>> print 'Sec_%s' % Section
>>> 'Sec_C_type'

Katılmak en hızlı ve verimli gibi görünüyor waymoot.org/home/python_string
enthusiasticgeek

6

+Dize birleştirme için şu şekilde kullanın :

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


2

Mevcut dizenin sonuna ekleme durumları için:

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

sonuçlanır

Sec_C_type
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.