Төменде Python жүйесінде str жолын біріктіру және біріктіру жолы сипатталған.
- Бірнеше жолды біріктіру және біріктіру:
+
,+=
оператор - Сандар мен жолдарды біріктіру және біріктіру:
+
,+=
оператор,str()
,format()
,f-жолы - Жолдардың тізімдерін (массивтерін) бір жолға біріктіру және біріктіру:
join()
- Сандардың тізімдерін (массивтерін) бір жолға біріктіру және біріктіру:
join()
,str()
Бірнеше жолды біріктіру және біріктіру:+,+=оператор
байланыс:+оператор
++ операторын келесі жол литералдары мен жол айнымалыларын біріктіру үшін пайдалануға болады
- …’
- «…»
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
байланыс:+=оператор
+= операторын, жинақтаушы тағайындау операторын да пайдалануға болады. Сол жақтағы жол айнымалысы оң жақтағы жолмен біріктіріліп, тағайындалады және жаңартылады.
s1 += s2
print(s1)
# aaabbb
Жолды айнымалы жолдың соңына қосқыңыз келсе, жай ғана жолдың айнымалы мәнін және кез келген жолдың литералын (немесе басқа жол айнымалысын) += операторымен өңдеңіз.
s = 'aaa'
s += 'xxx'
print(s)
# aaaxxx
Жолдық литералдардың дәйекті жалғануы
Егер сіз жай ғана жол литералдарын қатар жазсаңыз, жол литералдары біріктіріледі.
s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc
Екі жолдың арасында бос орын немесе кері қиғаш сызық үзілімі (жалғасы ретінде қарастырылады) қолайлы.
s = 'aaa' 'bbb' 'ccc'
print(s)
# aaabbbccc
s = 'aaa'\
'bbb'\
'ccc'
print(s)
# aaabbbccc
Кодтағы бірнеше жолға ұзын жолдарды жазу үшін оны пайдалану әдісі бар.
- Қатысты мақалалар:Python тілінде бірнеше жолға ұзын жолдарды жазу
Бұл жазу әдісі жол айнымалылары үшін мүмкін емес.
# s = s1 s2 s3
# SyntaxError: invalid syntax
Сандық және жолды жалғау/жалғастыру:+,+=оператор,str(),format(),f-жолы
Басқа түрдегі A + әрекеті қатеге әкеледі.
s1 = 'aaa'
s2 = 'bbb'
i = 100
f = 0.25
# s = s1 + i
# TypeError: must be str, not int
Егер сандық мәнді (мысалы, бүтін түрдегі int немесе өзгермелі нүкте түріндегі float) жолмен байланыстырғыңыз келсе, сандық мәнді str() арқылы жол түріне түрлендіріңіз, содан кейін оларды + операторымен (немесе += операторымен) байланыстырыңыз. ).
s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25
Нөлдік толтыру немесе ондық орындар сияқты санның пішімін түрлендіргіңіз келсе, format() функциясын немесе жол әдісі пішімін() пайдаланыңыз.
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
Әрине, пішімдеусіз айнымалының мәнін тікелей жолға ендіруге болады. Мұны жазу + операторын пайдаланудан оңайырақ.
s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25
Пішімді көрсету жолы туралы мәліметтер алу үшін келесі мақаланы қараңыз.
- Қатысты мақалалар:Python-да форматты түрлендіру, пішім (0-толтыру, экспоненциалды белгілеу, он алтылық және т.б.)
Python 3.6 нұсқасынан бастап f-strings (f-string) деп аталатын механизм де енгізілді, оны жазу форматқа () қарағанда оңайырақ.
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
Жолдардың тізімдерін (массивтерін) біріктіру және біріктіру:join()
Жолдар тізімін бір жолға біріктіру үшін join() жол әдісін пайдалануға болады.
Төменде оны қалай жазу керек.
'String to be inserted between'.join([List of strings to be concatenated])
арасына кірістіру жолы’ бар join() әдісіне қоңырау шалыңыз және аргумент ретінде [біріктіру үшін жолдар тізімі] жіберіңіз.
Егер бос жол пайдаланылса, [біріктірілетін жолдар тізімі] жай біріктіріледі, үтір пайдаланылса, жолдар үтірмен бөлінеді, ал жаңа жол таңбасы пайдаланылса, әрбір жол элементі жаңадан жолға қойылады.
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
Мұнда тізімнің мысалы ғана берілгенімен, кортеждер сияқты басқа қайталанатын нысандарды қосылу() үшін дәлел ретінде көрсетуге болады.
Біріктіруден () айырмашылығы, split() белгілі бір бөлгішпен бөлінген жолды бөлу және оны тізім ретінде алу үшін пайдаланылады.
Сандардың тізімдерін (массивтерін) жолдар ретінде біріктіру және біріктіру:join(),str()
Қосылу аргументі() элементтері жолдар емес тізім болса, қате орын алады.
l = [0, 1, 2]
# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found
Сандар тізімін бір жолға біріктіру үшін сандарды жолға түрлендіру үшін тізімді түсіну белгісіндегі әрбір элементке str() функциясын қолданыңыз, содан кейін оларды join() арқылы қосыңыз.
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
s = '-'.join(str(n) for n in l)
print(s)
# 0-1-2
Генератор өрнектері әдетте тізімді түсінуге қарағанда жадты азырақ пайдаланудың артықшылығына ие, бірақ генератор өрнектерін пайдаланудың ерекше артықшылығы жоқ, өйткені join() ішкі өңдеуінде генераторларды тізімдерге түрлендіреді. Шындығында, тізімді түсінуді басынан бастап пайдалану сәл жылдамырақ.
Тізімді түсіну және генератор өрнектері туралы қосымша ақпаратты келесі мақаланы қараңыз.
- Қатысты мақалалар:Python тізімінің түсінігін қалай пайдалануға болады