Ing ngisor iki minangka katrangan babagan cara nggabungake lan nggabungake string str ing Python.
- Concatenating lan nggabungake pirang-pirang senar:
+
,+=
operator - Concatenate lan gabungke nomer lan strings:
+
,+=
operator,str()
,format()
,f-string - Gabungke lan gabungke dhaptar (larik) senar dadi senar siji:
join()
- Gabungke lan gabungke dhaptar (larik) nomer dadi senar siji:
join()
,str()
Concatenating lan nggabungake pirang-pirang senar:+,+=operator
sambungan:+operator
Operator ++ bisa digunakake kanggo nggabungake literal string lan variabel string ing ngisor iki
- …’
- “…”
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
sambungan:+=operator
Operator +=, operator penugasan kumulatif, uga bisa digunakake. Variabel senar ing sisih kiwa digabungake karo senar ing sisih tengen, lan ditugasake lan dianyari.
s1 += s2
print(s1)
# aaabbb
Yen sampeyan pengin nambah string menyang mburi variabel senar, cukup proses variabel string lan string literal (utawa variabel string liyane) nganggo operator +=.
s = 'aaa'
s += 'xxx'
print(s)
# aaaxxx
Concatenation consecutive saka string literals
Yen sampeyan mung nulis string literals bebarengan, string literals bakal concatenated.
s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc
Ditrima yen ana spasi ing antarane rong garis utawa garis garis miring mundur (dianggep terusan).
s = 'aaa' 'bbb' 'ccc'
print(s)
# aaabbbccc
s = 'aaa'\
'bbb'\
'ccc'
print(s)
# aaabbbccc
Ana teknik kanggo nggunakake iki kanggo nulis senar dawa ing pirang-pirang baris ing kode kasebut.
- Artikel sing gegandhengan:Nulis strings dawa ing sawetara baris ing Python
Cara nulis iki ora bisa kanggo variabel senar.
# s = s1 s2 s3
# SyntaxError: invalid syntax
Numerik lan string concatenation / concatenation:+,+=operator,str(),format(),f-string
Operasi A + saka jinis sing beda nyebabake kesalahan.
s1 = 'aaa'
s2 = 'bbb'
i = 100
f = 0.25
# s = s1 + i
# TypeError: must be str, not int
Yen sampeyan pengin nggabungake nilai numerik (contone, integer tipe int utawa floating-point type float) karo string, ngowahi angka numerik menyang tipe string karo str() banjur gabungke karo operator + (utawa += operator. ).
s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25
Yen sampeyan pengin ngowahi format nomer, kayata nol-Isi utawa panggonan desimal, nggunakake fungsi format () utawa format cara senar ().
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
Mesthi, iku uga bisa kanggo nampilaké Nilai saka variabel langsung ing senar tanpa format. Iki luwih gampang kanggo nulis tinimbang nggunakake operator +.
s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25
Deleng artikel ing ngisor iki kanggo rincian babagan cara nemtokake format kasebut.
- Artikel sing gegandhengan:Konversi format ing Python, format (0-filling, notasi eksponensial, heksadesimal, lsp.)
Wiwit Python 3.6, mekanisme disebut f-strings (f-string) uga wis ngenalaken, kang malah prasaja kanggo nulis saka format ().
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
Concatenate lan gabung dhaftar (larik) saka strings:join()
Cara senar gabung () bisa digunakake kanggo nggabungake dhaptar senar dadi senar siji.
Ing ngisor iki carane nulis.
'String to be inserted between'.join([List of strings to be concatenated])
Nelpon cara gabung () karo ‘string kanggo masang antarane’ lan pass [dhaptar strings kanggo concatenate] minangka argumen.
Yen string kosong digunakake, [dhaptar string sing arep digabung] bakal mung digabung, yen koma digunakake, string bakal dipisahake koma, lan yen karakter baris anyar digunakake, saben unsur string bakal anyar.
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
Senajan mung conto dhaftar diwenehi kene, obyek iterable liyane kayata tuples bisa ditemtokake minangka bantahan kanggo nggabungake () uga.
Ing kontras kanggo nggabungake (), pamisah () digunakake kanggo pamisah senar diwatesi dening delimiter tartamtu lan diwenehi minangka dhaftar.
Concatenate lan gabungke dhaptar (larik) nomer minangka strings:join(),str()
Ana kesalahan yen argumen kanggo nggabungake () minangka dhaptar sing unsur ora strings.
l = [0, 1, 2]
# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found
Kanggo concatenate dhaftar nomer menyang senar siji, aplikasi str () fungsi kanggo saben unsur ing dhaftar pangerten notasi kanggo Ngonversi nomer menyang senar, lan banjur gabung karo gabung ().
s = '-'.join([str(n) for n in l])
print(s)
# 0-1-2
Bisa uga ditulis minangka ekspresi generator, yaiku versi generator saka pangerten dhaptar. Ekspresi generator dilampirake ing kurung, nanging kurung bisa diilangi yen ekspresi generator minangka argumen mung kanggo fungsi utawa metode.
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
ekspresi Generator umume duwe kauntungan saka nggunakake memori kurang saka pangerten dhaftar, nanging ora ana kauntungan tartamtu kanggo nggunakake ekspresi generator wiwit gabung () Ngonversi generator kanggo dhaptar ing Processing internal. Nyatane, luwih cepet nggunakake pangerten dhaptar saka wiwitan.
Kanggo informasi luwih lengkap babagan pangerten dhaptar lan ekspresi generator, deleng artikel ing ngisor iki.
- Artikel sing gegandhengan:Carane nggunakake Python dhaftar pangerten