Python, pamisah kanggo pamisah string sing dipisahake koma, mbusak spasi putih lan ngowahi menyang dhaptar

Bisnis

Nalika pamisah string sing dipisahake koma menyang dhaptar ing Python, yen ora ana spasi ing antarane, mung pamisah () bakal bisa. Yen ana spasi, iku migunani kanggo gabungke karo Strip () kanggo mbusak spasi ekstra. Kajaba iku, nggunakake notasi pangerten dhaptar minangka cara sing cerdas kanggo nulis.

Ing bagean iki, pisanan kita nerangake ing ngisor iki.

  • Pisah senar karo delimiter sing ditemtokake lan bali minangka dhaptarsplit()
  • Mbusak karakter ekstra saka wiwitan lan pungkasan senar.strip()
  • Dhaptar notasi pangerten kanggo ngetrapake fungsi lan metode kanggo dhaptar unsur.

Iki uga nuduhake carane nggawe dhaptar string sing dipisahake spasi lan koma kanthi mbusak spasi, kaya sing ditampilake ing ngisor iki.
one, two, three'

Kajaba iku, kita bakal ngrembug babagan ing ngisor iki

  • Carane njaluk iku minangka dhaptar nomer
  • Carane nggunakake gabung () kanggo nggabungake dhaftar lan nggawe senar maneh

split():Pisah senar karo delimiter sing ditemtokake lan bali minangka dhaptar

Nggunakake cara pamisah () kanggo strings, sampeyan bisa pamisah senar karo delimiter tartamtu lan njaluk iku minangka dhaftar (larik). Delimiter sing ditemtokake bisa ditemtokake dening argumen ing ngisor iki.sep

Yen argumen sep diilangi lan ora ana pembatas sing ditemtokake, pamisah string kasebut kanthi spasi lan ngasilake dhaptar. Spasi lan tab berturut-turut uga bakal pamisah dhaptar, dadi yen sampeyan pengin nggawe dhaptar strings tab-delimited, sampeyan bisa nggunakake pamisah () tanpa pitakonan.

s = 'one two three'
l = s.split()
print(l)
# ['one', 'two', 'three']

s = 'one two        three'
l = s.split()
print(l)
# ['one', 'two', 'three']

s = 'one\ttwo\tthree'
l = s.split()
print(l)
# ['one', 'two', 'three']

Yen delimiter ditemtokake ing argumen sep, dhaptar kasebut dibagi karo senar kasebut lan ngasilake dhaptar.

s = 'one::two::three'
l = s.split('::')
print(l)
# ['one', 'two', 'three']

Ing kasus senar sing dipisahake koma, yen ora ana spasi putih ekstra, ora ana masalah, nanging yen sampeyan mbukak pamisah () karo koma minangka delimiter kanggo senar sing dipisahake karo koma + spasi putih, sampeyan bakal mungkasi. munggah karo dhaptar strings karo spasi putih ing wiwitan.

s = 'one,two,three'
l = s.split(',')
print(l)
# ['one', 'two', 'three']

s = 'one, two, three'
l = s.split(',')
print(l)
# ['one', ' two', ' three']

Sampeyan bisa nggunakake koma + spasi minangka delimiter minangka nderek, nanging ora bakal bisa yen nomer spasi ing senar asli beda., '

s = 'one, two, three'
l = s.split(', ')
print(l)
# ['one', 'two', 'three']

s = 'one, two,  three'
l = s.split(', ')
print(l)
# ['one', 'two', ' three']

Strip cara senar (), kang bakal diterangno sabanjuré, bisa digunakake kanggo menehi hasil karo rong spasi.

strip():Mbusak karakter ekstra saka wiwitan lan pungkasan senar.

Strip () minangka cara kanggo mbusak karakter ekstra saka wiwitan lan pungkasan senar.

Yen argumen diilangi, string anyar bakal dibalekake kanthi karakter spasi putih dibusak. Senar asli dhewe ora diganti.

s = '  one  '
print(s.strip())
# one

print(s)
#   one  

Yen string ditemtokake minangka argumen, karakter sing ana ing string bakal dibusak.

s = '-+-one-+-'
print(s.strip('-+'))
# one

Ing kasus iki, spasi ora dibusak. Mulane, yen sampeyan pengin mbusak spasi putih uga, pass string kalebu spasi minangka argumen, kaya sing kapacak ing ngisor iki.-+ '

s = '-+- one -+-'
print(s.strip('-+'))
#  one 

s = '-+- one -+-'
print(s.strip('-+ '))
# one

Strip () Ngalahake loro ends, nanging fungsi ing ngisor iki uga kasedhiya.

  • lstrip():Proses mung wiwitan
  • rstrip():Proses pungkasan baris mung.

Notasi pangerten dhaptar: aplikasi fungsi lan metode kanggo dhaptar unsur

Yen sampeyan pengin aplikasi fungsi utawa cara kanggo unsur dhaftar, iku pinter nggunakake dhaftar pangerten notasi tinimbang kanggo daur ulang yen sampeyan pengin njaluk dhaftar ing pungkasan.

Kene, kita aplikasi Strip () kanggo dhaftar dijupuk dening pamisah senar karo pamisah (). Spasi putih ekstra ing senar sing dipisahake koma sing ngemot spasi putih bisa dicopot kanggo nggawe dhaptar.

s = 'one, two, three'
l = [x.strip() for x in s.split(',')]
print(l)
# ['one', 'two', 'three']

Nalika iki ditrapake ing senar kosong, dhaptar kanthi senar kosong minangka unsur bisa dipikolehi.

s = ''
l = [x.strip() for x in s.split(',')]
print(l)
print(len(l))
# ['']
# 1

Yen sampeyan pengin entuk dhaptar kosong kanggo string kosong, sampeyan bisa nyetel cabang kondisional ing notasi pangerten dhaptar.

s = ''
l = [x.strip() for x in s.split(',') if not s == '']
print(l)
print(len(l))
# []
# 0

one, , three'
Uga, yen unsur sing dipisahake koma ora ana, kaya sing kasebut ing ndhuwur, cara pisanan bakal nampilake minangka unsur string kosong.

s = 'one, , three'
l = [x.strip() for x in s.split(',')]
print(l)
print(len(l))
# ['one', '', 'three']
# 3

Yen sampeyan pengin nglirwakake bagean sing ilang, sampeyan bisa nyiyapake cabang kondisional ing notasi pangerten dhaptar.

s = 'one, ,three'
l = [x.strip() for x in s.split(',') if not x.strip() == '']
print(l)
print(len(l))
# ['one', 'three']
# 2

Njaluk minangka dhaptar nomer

Yen sampeyan pengin njaluk senar sing dipisahake koma saka nomer minangka dhaptar nomer tinimbang senar, aplikasi int () utawa float () kanggo Ngonversi senar kanggo nomer ing notasi pangerten dhaftar.

s = '1, 2, 3, 4'
l = [x.strip() for x in s.split(',')]
print(l)
print(type(l[0]))
# ['1', '2', '3', '4']
# <class 'str'>

s = '1, 2, 3, 4'
l = [int(x.strip()) for x in s.split(',')]
print(l)
print(type(l[0]))
# [1, 2, 3, 4]
# <class 'int'>

join():Gabung dhaptar lan entuk minangka senar

Ing pola ngelawan, yen sampeyan pengin nggabungake dhaftar lan njaluk strings dipisahake dening delimiter tartamtu, nggunakake gabung () cara.

Iku gampang kanggo nggawe kesalahan, nanging Wigati sing nggabungake () iku cara senar, dudu cara dhaftar. Dhaptar kasebut ditemtokake minangka argumen.

s = 'one, two,  three'
l = [x.strip() for x in s.split(',')]
print(l)
# ['one', 'two', 'three']

print(','.join(l))
# one,two,three

print('::'.join(l))
# one::two::three

Sampeyan bisa nulis ing siji baris kaya ing ngisor iki.

s = 'one, two,  three'
s_new = '-'.join([x.strip() for x in s.split(',')])
print(s_new)
# one-two-three

Yen sampeyan mung pengin ngganti delimiter tetep, iku luwih gampang kanggo ngganti karo ngganti () cara.

s = 'one,two,three'
s_new = s.replace(',', '+')
print(s_new)
# one+two+three
Copied title and URL