Таслалаар тусгаарлагдсан мөрийг Python дээр жагсаалт болгон хуваах үед хооронд нь хоосон зай байхгүй бол split() л ажиллана. Хэрэв хоосон зай байгаа бол нэмэлт зайг арилгахын тулд үүнийг strip()-тэй хослуулах нь ашигтай. Нэмж дурдахад, жагсаалтыг ойлгох тэмдэглэгээг ашиглах нь бичих ухаалаг арга юм.
Энэ хэсэгт бид эхлээд дараах зүйлийг тайлбарлах болно.
- Мөрийг тодорхой хязгаарлагчаар хувааж, жагсаалт болгон буцаана уу
split()
- Мөрийн эхэн ба төгсгөлөөс нэмэлт тэмдэгтүүдийг хас.
strip()
- Элементүүдийг жагсаахад функц, аргыг хэрэглэхийн тулд жагсаалтын ойлголтын тэмдэглэгээ.
Мөн доор үзүүлсэн шиг зайг арилгах замаар зай, таслалаар тусгаарлагдсан мөрүүдийн жагсаалтыг хэрхэн гаргахыг харуулж байна.one, two, three'
Үүнээс гадна бид дараахь зүйлийг хэлэлцэх болно
- Хэрхэн тоонуудын жагсаалт болгон авах вэ
- Жагсаалтад нэгдэж, дахин мөр болгохын тулд join()-г хэрхэн ашиглах вэ
split():Мөрийг тодорхой хязгаарлагчаар хувааж, жагсаалт болгон буцаана уу
Мөртүүдийн хувьд split() аргыг ашигласнаар та мөрийг заасан хязгаарлагчаар хувааж, жагсаалт (массив) хэлбэрээр авах боломжтой. Заасан хязгаарлагчийг дараах аргументаар тодорхойлж болно.sep
Хэрэв sep аргументыг орхигдуулсан бөгөөд зааглагчийг заагаагүй бол мөрийг хоосон зайгаар хувааж, жагсаалтыг буцаана. Дараалсан зай болон табууд нь жагсаалтыг хуваах тул та табаар тусгаарлагдсан мөрүүдийн жагсаалтыг гаргахыг хүсвэл split()-г аргументгүйгээр ашиглаж болно.
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']
Хэрэв sep аргумент дээр хязгаарлагчийг зааж өгсөн бол энэ нь жагсаалтыг тухайн мөрөнд хувааж, жагсаалтыг буцаана.
s = 'one::two::three' l = s.split('::') print(l) # ['one', 'two', 'three']
Таслалаар тусгаарласан мөрийн хувьд нэмэлт хоосон зай байхгүй бол ямар ч асуудал байхгүй, гэхдээ та таслал + цагаан зайгаар тусгаарлагдсан тэмдэгт мөрийг зааглагч болгон split() командыг таслалаар ажиллуулбал дуусгах болно. эхэнд нь хоосон зай үлдээсэн мөрүүдийн жагсаалт хүртэл.
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, two, three' l = s.split(', ') print(l) # ['one', 'two', 'three'] s = 'one, two, three' l = s.split(', ') print(l) # ['one', 'two', ' three']
Дараа нь тайлбарлах string method strip()-ийг хоёр зайтай ажиллахад ашиглаж болно.
strip():Мөрийн эхэн ба төгсгөлөөс нэмэлт тэмдэгтүүдийг хас.
strip() нь мөрийн эхэн ба төгсгөлөөс нэмэлт тэмдэгтүүдийг арилгах арга юм.
Хэрэв аргументыг орхигдуулсан бол хоосон зайны тэмдэгтүүдийг хассан шинэ мөрийг буцаана. Анхны мөр нь өөрөө өөрчлөгдөөгүй.
s = ' one ' print(s.strip()) # one print(s) # one
Хэрэв мөрийг аргумент болгон зааж өгсөн бол мөрөнд байгаа тэмдэгтүүд устах болно.
s = '-+-one-+-' print(s.strip('-+')) # one
Энэ тохиолдолд зайг арилгахгүй. Тиймээс, хэрэв та хоосон зайг арилгахыг хүсвэл доор үзүүлсэн шиг хоосон зайг агуулсан мөрийг аргумент болгон дамжуулаарай.-+ '
s = '-+- one -+-' print(s.strip('-+')) # one s = '-+- one -+-' print(s.strip('-+ ')) # one
strip() нь хоёр төгсгөлийг зохицуулдаг боловч дараах функцууд бас боломжтой.
lstrip()
:Зөвхөн эхлэлийг нь боловсруулrstrip()
:Зөвхөн мөрийн төгсгөлийг боловсруулна.
Жагсаалтын ойлголтын тэмдэглэгээ: Элементүүдийг жагсаахад функц, аргыг хэрэглэнэ
Хэрэв та жагсаалтын элементүүдэд функц эсвэл аргыг хэрэглэхийг хүсвэл эцэст нь жагсаалтыг авахыг хүсвэл for циклийн оронд жагсаалтыг ойлгох тэмдэглэгээг ашиглах нь ухаалаг хэрэг юм.
- Холбоотой нийтлэлүүд:Python жагсаалтын ойлголтын тэмдэглэгээг ашиглах
Энд бид мөрийг split()-ээр хувааж олж авсан жагсаалтад strip()-г хэрэглэнэ. Хоосон зай агуулсан таслалаар тусгаарлагдсан мөр дэх нэмэлт хоосон зайг арилгаж жагсаалт үүсгэх боломжтой.
s = 'one, two, three' l = [x.strip() for x in s.split(',')] print(l) # ['one', 'two', 'three']
Үүнийг хоосон мөрөнд хэрэглэх үед элемент болгон нэг хоосон мөр бүхий жагсаалтыг олж авах боломжтой.
s = '' l = [x.strip() for x in s.split(',')] print(l) print(len(l)) # [''] # 1
Хэрэв та хоосон мөрөнд хоосон жагсаалт авахыг хүсвэл жагсаалтын ойлголтын тэмдэглэгээнд нөхцөлт салбарыг тохируулж болно.
s = '' l = [x.strip() for x in s.split(',') if not s == ''] print(l) print(len(l)) # [] # 0
one, , three'
Мөн дээр дурдсанчлан таслалаар тусгаарлагдсан элемент байхгүй бол эхний арга нь үүнийг хоосон мөр элемент болгон жагсаах болно.
s = 'one, , three' l = [x.strip() for x in s.split(',')] print(l) print(len(l)) # ['one', '', 'three'] # 3
Хэрэв та дутуу хэсгүүдийг үл тоомсорлохыг хүсвэл жагсаалтын ойлголтын тэмдэглэгээнд нөхцөлт салбарыг тохируулж болно.
s = 'one, ,three' l = [x.strip() for x in s.split(',') if not x.strip() == ''] print(l) print(len(l)) # ['one', 'three'] # 2
Тоонуудын жагсаалт болгон аваарай
Хэрэв та тэмдэгт мөрийн оронд тоонуудын жагсаалт болгон таслалаар тусгаарлагдсан тоон мөрийг авахыг хүсвэл жагсаалтын ойлгох тэмдэглэгээнд мөрийг тоо болгон хөрвүүлэхийн тулд int() эсвэл float() командыг хэрэглэнэ.
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():Жагсаалтыг нэгтгэж, мөр болгон аваарай
Эсрэг загварт, хэрэв та жагсаалтад нэгдэж, тодорхой хязгаарлагчаар тусгаарлагдсан мөрүүдийг авахыг хүсвэл join() аргыг ашиглана уу.
Алдаа гаргахад амархан, гэхдээ join() нь жагсаалтын арга биш харин string арга гэдгийг анхаарна уу. Жагсаалтыг аргумент болгон зааж өгсөн болно.
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
Та үүнийг нэг мөрөнд дараах байдлаар бичиж болно.
s = 'one, two, three' s_new = '-'.join([x.strip() for x in s.split(',')]) print(s_new) # one-two-three
Хэрэв та зүгээр л тогтмол хязгаарлагчийг солихыг хүсвэл солих () аргаар солих нь илүү хялбар болно.
s = 'one,two,three' s_new = s.replace(',', '+') print(s_new) # one+two+three