Wakati wa kugawanya kamba iliyotenganishwa kwa koma kwenye orodha katika Python, ikiwa hakuna nafasi kati, split() itafanya kazi. Ikiwa kuna nafasi, ni muhimu kuichanganya na strip() ili kuondoa nafasi za ziada. Kwa kuongeza, kutumia nukuu ya ufahamu wa orodha ni njia nzuri ya kuandika.
Katika sehemu hii, kwanza tunaelezea yafuatayo.
- Gawanya mfuatano na kikomo maalum na uurudishe kama orodha
split()
- Ondoa herufi za ziada kutoka mwanzo na mwisho wa mfuatano.
strip()
- Orodhesha nukuu za ufahamu ili kutumia chaguo za kukokotoa na mbinu za kuorodhesha vipengele.
Inaonyesha pia jinsi ya kutengeneza orodha ya mifuatano iliyotenganishwa na nafasi na koma kwa kuondoa nafasi, kama inavyoonyeshwa hapa chini.one, two, three'
Kwa kuongeza, tutajadili zifuatazo
- Jinsi ya kuipata kama orodha ya nambari
- Jinsi ya kutumia join() kujiunga na orodha na kuifanya kuwa kamba tena
split():Gawanya mfuatano na kikomo maalum na uurudishe kama orodha
Kutumia njia split() kwa kamba, unaweza kugawanya kamba na kikomo maalum na kuipata kama orodha (safu). Kikomo kilichobainishwa kinaweza kubainishwa kwa hoja ifuatayo.sep
Ikiwa hoja sep itaachwa na hakuna kikomo kilichobainishwa, hugawanya mfuatano kwa nafasi na kurudisha orodha. Nafasi na vichupo mfululizo pia vitagawanya orodha, kwa hivyo ikiwa unataka kutengeneza orodha ya mifuatano iliyotenganishwa na kichupo, unaweza kutumia split() bila hoja.
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']
Ikiwa kikomo kimebainishwa katika hoja ya sep, inagawanya orodha kwa mfuatano huo na kurudisha orodha.
s = 'one::two::three' l = s.split('::') print(l) # ['one', 'two', 'three']
Kwa upande wa kamba iliyotenganishwa kwa koma, ikiwa hakuna nafasi nyeupe ya ziada, hakuna shida, lakini ukiendesha split() na koma kama kikomo cha kamba iliyotengwa na koma + nafasi nyeupe, utaisha. juu na orodha ya mifuatano iliyo na nafasi nyeupe iliyoachwa mwanzoni.
s = 'one,two,three' l = s.split(',') print(l) # ['one', 'two', 'three'] s = 'one, two, three' l = s.split(',') print(l) # ['one', ' two', ' three']
Unaweza kutumia koma + nafasi kama kikomo kama ifuatavyo, lakini haitafanya kazi ikiwa idadi ya nafasi kwenye mfuatano wa asili ni tofauti., '
s = 'one, two, three' l = s.split(', ') print(l) # ['one', 'two', 'three'] s = 'one, two, three' l = s.split(', ') print(l) # ['one', 'two', ' three']
Njia ya kamba strip(), ambayo itaelezewa ijayo, inaweza kutumika kushughulikia nafasi mbili.
strip():Ondoa herufi za ziada kutoka mwanzo na mwisho wa mfuatano.
strip() ni njia ya kuondoa herufi za ziada kutoka mwanzo na mwisho wa kamba.
Hoja ikiondolewa, mfuatano mpya utarejeshwa na vibambo vya nafasi nyeupe kuondolewa. Kamba asili yenyewe haijabadilishwa.
s = ' one ' print(s.strip()) # one print(s) # one
Ikiwa mfuatano umebainishwa kama hoja, vibambo vilivyomo kwenye mfuatano huo vitaondolewa.
s = '-+-one-+-' print(s.strip('-+')) # one
Katika kesi hii, nafasi haziondolewa. Kwa hivyo, ikiwa unataka kuondoa nafasi nyeupe pia, pitisha kamba ikijumuisha nafasi kama hoja, kama inavyoonyeshwa hapa chini.-+ '
s = '-+- one -+-' print(s.strip('-+')) # one s = '-+- one -+-' print(s.strip('-+ ')) # one
strip() hushughulikia ncha zote mbili, lakini kazi zifuatazo zinapatikana pia.
lstrip()
:Mchakato tu mwanzorstrip()
:Mchakato wa mwisho wa mstari pekee.
Dokezo la ufahamu wa orodhesha: tumia vipengele na mbinu za kuorodhesha vipengele
Ikiwa ungependa kutumia chaguo za kukokotoa au mbinu kwa vipengele vya orodha, ni busara kutumia nukuu ya ufahamu wa orodha badala ya kitanzi ikiwa unataka kupata orodha mwishoni.
- Nakala Zinazohusiana:Kutumia nukuu ya ufahamu wa orodha ya Python
Hapa, tunaweka strip() kwenye orodha iliyopatikana kwa kugawanya kamba na split(). Nafasi nyeupe ya ziada katika mfuatano uliotenganishwa kwa koma iliyo na nafasi nyeupe inaweza kuondolewa ili kutengeneza orodha.
s = 'one, two, three' l = [x.strip() for x in s.split(',')] print(l) # ['one', 'two', 'three']
Hii inapotumika kwa mfuatano tupu, orodha iliyo na mfuatano tupu kama kipengele inaweza kupatikana.
s = '' l = [x.strip() for x in s.split(',')] print(l) print(len(l)) # [''] # 1
Ikiwa unataka kupata orodha tupu kwa mfuatano tupu, unaweza kusanidi tawi la masharti katika nukuu ya ufahamu wa orodha.
s = '' l = [x.strip() for x in s.split(',') if not s == ''] print(l) print(len(l)) # [] # 0
one, , three'
Pia, ikiwa kipengee kilichotenganishwa kwa koma hakipo, kama ilivyoelezwa hapo juu, njia ya kwanza itaorodhesha kama kipengele cha kamba tupu.
s = 'one, , three' l = [x.strip() for x in s.split(',')] print(l) print(len(l)) # ['one', '', 'three'] # 3
Ikiwa unataka kupuuza sehemu zinazokosekana, unaweza kusanidi tawi la masharti katika nukuu ya ufahamu wa orodha.
s = 'one, ,three' l = [x.strip() for x in s.split(',') if not x.strip() == ''] print(l) print(len(l)) # ['one', 'three'] # 2
Pata kama orodha ya nambari
Ikiwa ungependa kupata mfuatano uliotenganishwa kwa koma wa nambari kama orodha ya nambari badala ya mfuatano, tumia int() au float() ili kubadilisha mfuatano huo kuwa nambari katika nukuu ya ufahamu wa orodha.
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():Unganisha orodha na uipate kama mfuatano
Katika muundo ulio kinyume, ikiwa unataka kujiunga na orodha na kupata mifuatano iliyotenganishwa na kikomo maalum, tumia join() mbinu.
Ni rahisi kufanya makosa, lakini kumbuka kuwa join() ni njia ya kamba, sio njia ya orodha. Orodha imebainishwa kama hoja.
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
Unaweza kuiandika kwa mstari mmoja kama ifuatavyo.
s = 'one, two, three' s_new = '-'.join([x.strip() for x in s.split(',')]) print(s_new) # one-two-three
Ikiwa unataka tu kubadilisha kikomo maalum, ni rahisi kuibadilisha na njia ya replace().
s = 'one,two,three' s_new = s.replace(',', '+') print(s_new) # one+two+three