Aşağıda, Python’da string str’nin nasıl birleştirileceğinin ve birleştirileceğinin bir açıklaması yer almaktadır.
- Birden çok dizeyi birleştirme ve birleştirme:
+
,+=
Şebeke - Sayıları ve dizeleri birleştirin ve birleştirin:
+
,+=
Şebeke,str()
,format()
,f-string - Dize listelerini (dizileri) tek bir dizede birleştirin ve birleştirin:
join()
- Sayı listelerini (dizilerini) tek bir dizede birleştirin ve birleştirin:
join()
,str()
Birden çok dizeyi birleştirme ve birleştirme:+,+=Şebeke
bağ:+Şebeke
++ operatörü, aşağıdaki dize değişmezlerini ve dize değişkenlerini birleştirmek için kullanılabilir
- …’
- “…”
s = 'aaa' + 'bbb' + 'ccc'
print(s)
# aaabbbccc
s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'
s = s1 + s2 + s3
print(s)
# aaabbbccc
s = s1 + s2 + s3 + 'ddd'
print(s)
# aaabbbcccddd
bağ:+=Şebeke
Bir kümülatif atama operatörü olan += operatörü de kullanılabilir. Sol taraftaki string değişkeni, sağ taraftaki string ile birleştirilir ve atanır ve güncellenir.
s1 += s2
print(s1)
# aaabbb
Bir dize değişkeninin sonuna bir dize eklemek istiyorsanız, dize değişkenini ve herhangi bir dize değişmezini (veya başka bir dize değişkenini) += operatörüyle işlemeniz yeterlidir.
s = 'aaa'
s += 'xxx'
print(s)
# aaaxxx
Dize değişmezlerinin ardışık olarak birleştirilmesi
Dize değişmezlerini yan yana yazarsanız, dize değişmezleri birleştirilir.
s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc
İki satır arasında boşluk olması veya ters eğik çizgi kesmesi (devam olarak kabul edilir) kabul edilebilir.
s = 'aaa' 'bbb' 'ccc'
print(s)
# aaabbbccc
s = 'aaa'\
'bbb'\
'ccc'
print(s)
# aaabbbccc
Kodda birden çok satıra uzun dizeler yazmak için bunu kullanmanın bir tekniği vardır.
- İlgili Makaleler:Python’da birden çok satıra uzun dizeler yazma
Bu yazma yöntemi, dize değişkenleri için mümkün değildir.
# s = s1 s2 s3
# SyntaxError: invalid syntax
Sayısal ve dize bitiştirme/birleştirme:+,+=Şebeke,str(),format(),f-string
Farklı türden bir A + işlemi bir hataya neden olur.
s1 = 'aaa'
s2 = 'bbb'
i = 100
f = 0.25
# s = s1 + i
# TypeError: must be str, not int
Sayısal bir değeri (örneğin, tamsayı türü int veya kayan nokta türü kayan nokta) bir dizeyle birleştirmek istiyorsanız, sayısal değeri str() ile bir dize türüne dönüştürün ve ardından bunları + operatörüyle (veya += operatörüyle birleştirin) ).
s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25
Sıfır doldurma veya ondalık basamaklar gibi bir sayının biçimini dönüştürmek istiyorsanız, format() işlevini veya format() dize yöntemini kullanın.
s = s1 + '_' + format(i, '05') + '_' + s2 + '_' + format(f, '.5f')
print(s)
# aaa_00100_bbb_0.25000
s = '{}_{:05}_{}_{:.5f}'.format(s1, i, s2, f)
print(s)
# aaa_00100_bbb_0.25000
Elbette, bir değişkenin değerini biçimlendirmeden doğrudan bir dizgeye gömmek de mümkündür. Bunu yazmak + operatörünü kullanmaktan daha kolaydır.
s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25
Biçimin nasıl belirleneceğiyle ilgili ayrıntılar için aşağıdaki makaleye bakın.
Python 3.6’dan bu yana, f-strings (f-string) adı verilen ve yazması format()’tan daha basit olan bir mekanizma da tanıtıldı.
s = f'{s1}_{i:05}_{s2}_{f:.5f}'
print(s)
# aaa_00100_bbb_0.25000
s = f'{s1}_{i}_{s2}_{f}'
print(s)
# aaa_100_bbb_0.25
Dizelerin listelerini (dizilerini) birleştirin ve birleştirin:join()
string yöntemi join(), bir dize listesini tek bir dizede birleştirmek için kullanılabilir.
Aşağıdaki nasıl yazılacağıdır.
'String to be inserted between'.join([List of strings to be concatenated])
Arasına eklenecek dize’ ile join() yöntemini çağırın ve argüman olarak [birleştirilecek dizelerin listesi] iletin.
Boş bir dize kullanılırsa, [birleştirilecek dizelerin listesi] basitçe birleştirilir, virgül kullanılırsa dizeler virgülle ayrılır ve bir satırsonu karakteri kullanılırsa, her dize öğesi yeni satıra eklenir.
l = ['aaa', 'bbb', 'ccc']
s = ''.join(l)
print(s)
# aaabbbccc
s = ','.join(l)
print(s)
# aaa,bbb,ccc
s = '-'.join(l)
print(s)
# aaa-bbb-ccc
s = '\n'.join(l)
print(s)
# aaa
# bbb
# ccc
Burada sadece bir liste örneği verilmiş olsa da, tuple’lar gibi diğer yinelenebilir nesneler de join()’e argüman olarak belirtilebilir.
Join()’in aksine split(), belirli bir sınırlayıcı ile sınırlandırılmış bir dizgiyi bölmek ve onu bir liste olarak elde etmek için kullanılır.
Sayı listelerini (dizilerini) dizeler olarak birleştirin ve birleştirin:join(),str()
Join() argümanı, öğeleri dize olmayan bir listeyse bir hata oluşur.
l = [0, 1, 2]
# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found
Bir sayı listesini tek bir dizgede birleştirmek için, sayıları bir dizgeye dönüştürmek için liste anlama notasyonundaki her öğeye str() işlevini uygulayın ve ardından onları join() ile birleştirin.
s = '-'.join([str(n) for n in l])
print(s)
# 0-1-2
Liste kavrayışlarının üretici versiyonu olan bir üreteç ifadesi olarak da yazılabilir. Üreteç ifadeleri parantez içine alınır, ancak üreteç ifadesi bir işlev veya yöntemin tek argümanıysa parantezler atlanabilir.
s = '-'.join((str(n) for n in l))
print(s)
# 0-1-2
s = '-'.join(str(n) for n in l)
print(s)
# 0-1-2
Jeneratör ifadeleri genellikle liste kavrayışlarından daha az bellek kullanma avantajına sahiptir, ancak join() kendi dahili işleminde jeneratörleri listelere dönüştürdüğünden, jeneratör ifadelerini kullanmanın özel bir avantajı yoktur. Aslında, liste kavramalarını baştan kullanmak biraz daha hızlıdır.
Liste kavramaları ve oluşturucu ifadeleri hakkında daha fazla bilgi için aşağıdaki makaleye bakın.
- İlgili Makaleler:Python liste kavrayışları nasıl kullanılır?