Aşağıda Python-da str sətirini necə birləşdirməyin və birləşdirməyin təsviri verilmişdir.
- Çoxlu sətirlərin birləşdirilməsi və birləşdirilməsi:
+
,+=
operator - Rəqəmləri və sətirləri birləşdirin və birləşdirin:
+
,+=
operator,str()
,format()
,f simli - Sətirlərin siyahılarını (massivlərini) bir sətirdə birləşdirin və birləşdirin:
join()
- Nömrələrin siyahılarını (massivlərini) bir sətirdə birləşdirin və birləşdirin:
join()
,str()
Çoxlu sətirlərin birləşdirilməsi və birləşdirilməsi:+,+=operator
əlaqə:+operator
++ operatoru aşağıdakı sətir hərfi və sətir dəyişənlərini birləşdirmək üçün istifadə edilə bilər
- …’
- “…”
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
əlaqə:+=operator
Kumulyativ təyin operatoru olan += operatorundan da istifadə etmək olar. Sol tərəfdəki sətir dəyişəni sağ tərəfdəki sətirlə birləşdirilir və təyin edilir və yenilənir.
s1 += s2
print(s1)
# aaabbb
Əgər sətir dəyişəninin sonuna sətir əlavə etmək istəyirsinizsə, sadəcə olaraq += operatoru ilə sətir dəyişənini və hər hansı bir sətir literalını (və ya başqa sətir dəyişənini) emal edin.
s = 'aaa'
s += 'xxx'
print(s)
# aaaxxx
Sətir hərfilərin ardıcıl birləşdirilməsi
Əgər siz sadəcə olaraq sətir hərflərini yan-yana yazsanız, sətir hərfləri birləşdiriləcək.
s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc
İki sətir arasında boşluq və ya tərs kəsişmə xəttinin kəsilməsi (davam hesab olunur) məqbuldur.
s = 'aaa' 'bbb' 'ccc'
print(s)
# aaabbbccc
s = 'aaa'\
'bbb'\
'ccc'
print(s)
# aaabbbccc
Kodda çoxlu sətirlərə uzun sətirlər yazmaq üçün bundan istifadə etmək üçün bir texnika var.
- Əlaqədar Məqalələr:Python-da çoxlu sətirlərə uzun sətirlərin yazılması
Bu yazı metodu sətir dəyişənləri üçün mümkün deyil.
# s = s1 s2 s3
# SyntaxError: invalid syntax
Rəqəm və sətir birləşmə/birləşdirmə:+,+=operator,str(),format(),f simli
Fərqli tipli A + əməliyyatı xəta ilə nəticələnir.
s1 = 'aaa'
s2 = 'bbb'
i = 100
f = 0.25
# s = s1 + i
# TypeError: must be str, not int
Əgər siz ədədi dəyəri (məsələn, tam tipli int və ya üzən nöqtə tipli float) sətirlə birləşdirmək istəyirsinizsə, rəqəmli dəyəri str() ilə sətir tipinə çevirin və sonra onları + operatoru (və ya += operatoru) ilə birləşdirin. ).
s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25
Əgər nömrənin sıfır doldurulması və ya onluq yerləri kimi formatını çevirmək istəyirsinizsə, format() funksiyasından və ya sətir metodu formatından() istifadə edin.
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
Əlbəttə ki, formatlaşdırmadan dəyişənin dəyərini birbaşa sətirdə yerləşdirmək də mümkündür. Bunu yazmaq + operatorundan istifadə etməkdən daha asandır.
s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25
Formatın necə təyin ediləcəyi ilə bağlı ətraflı məlumat üçün aşağıdakı məqaləyə baxın.
- Əlaqədar Məqalələr:Python-da formatın çevrilməsi, format (0-doldurulması, eksponensial qeyd, onaltılıq və s.)
Python 3.6-dan bəri f-strings (f-string) adlı mexanizm də təqdim edilmişdir ki, onun yazılması format() ilə müqayisədə daha sadədir.
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
Sətirlərin siyahılarını (massivlərini) birləşdirin və birləşdirin:join()
Sətirlərin siyahısını bir sətirdə birləşdirmək üçün join() string metodundan istifadə edilə bilər.
Aşağıda onu necə yazmaq olar.
'String to be inserted between'.join([List of strings to be concatenated])
arasına daxil etmək üçün sətir’ ilə join() metoduna zəng edin və [birləşdirmək üçün sətirlərin siyahısı] arqument kimi keçirin.
Boş sətirdən istifadə edilərsə, [birləşdiriləcək sətirlərin siyahısı] sadəcə birləşdiriləcək, vergül istifadə edilərsə, sətirlər vergüllə ayrılacaq və yeni sətir simvolu istifadə edilərsə, hər bir sətir elementi yeni sətirə çəkiləcək.
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 yalnız siyahının nümunəsi verilsə də, dəstlər kimi digər təkrarlana bilən obyektlər də qoşulmaq () üçün arqumentlər kimi göstərilə bilər.
Birləşmədən () fərqli olaraq, split() xüsusi bir ayırıcı ilə ayrılmış sətri bölmək və onu siyahı kimi əldə etmək üçün istifadə olunur.
Nömrələrin siyahılarını (massivlərini) sətirlər kimi birləşdirin və birləşdirin:join(),str()
Birləşmə () arqumenti elementləri sətir olmayan siyahıdırsa, xəta baş verir.
l = [0, 1, 2]
# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found
Rəqəmlər siyahısını bir sətirdə birləşdirmək üçün nömrələri sətirə çevirmək üçün siyahı başa düşmə notasiyasının hər bir elementinə str() funksiyasını tətbiq edin və sonra onları join() ilə birləşdirin.
s = '-'.join([str(n) for n in l])
print(s)
# 0-1-2
O, həmçinin siyahı anlamalarının generator versiyası olan generator ifadəsi kimi də yazıla bilər. Generator ifadələri mötərizə içərisindədir, lakin generator ifadəsi funksiya və ya metodun yeganə arqumentidirsə, mötərizələr buraxıla bilər.
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
Generator ifadələrinin, ümumiyyətlə, siyahının başa düşülməsindən daha az yaddaş istifadəsinin üstünlüyü var, lakin generator ifadələrindən istifadənin xüsusi üstünlüyü yoxdur, çünki join() daxili emalında generatorları siyahılara çevirir. Əslində, əvvəldən siyahı anlamalarından istifadə etmək bir qədər sürətlidir.
Siyahı anlayışları və generator ifadələri haqqında daha çox məlumat üçün aşağıdakı məqaləyə baxın.
- Əlaqədar Məqalələr:Python siyahısı anlamalarından necə istifadə etmək olar