„Python“

Kaip padalinti eilutes „Python“

Kaip padalinti eilutes „Python“
Šiame straipsnyje bus paaiškinta, kaip padalinti eilutes pitone naudojant „split ()“ ir „partition ()“ metodus. Šie metodai yra ypač naudingi, jei norite konvertuoti sakinį ar žodžių grupę į parsable ir iterable Python tipus. Visi šio vadovo kodų pavyzdžiai yra išbandyti naudojant „Python 3“ versiją.8.6.

Skaldymo metodas

„Split ()“ metodas gali būti naudojamas suskaidyti žodžius naudojant vartotojo nurodytą skyriklį. Jis pateikia suskaidytų žodžių sąrašą, neįtraukdamas separatoriaus. Jei vartotojas nenurodo separatoriaus, tarpai (vienas ar daugiau) naudojami kaip vienas separatorius.

Pavyzdžiui, žemiau pateiktas kodas kaip išvestį grąžins „[’ Linux “,„ Hint “]:

text = "Linux patarimas"
teksto.padalyti ()

Žemiau pateiktas kodas grąžins „['LinuxHint', 'com']“ kaip išvestį, kai „.“Naudojamas kaip separatorius:

text = "LinuxHint.com "
teksto.padalinti („.“)

Skyriklis nebūtinai turi būti vienas simbolis. Skirstymo metodui reikia dviejų argumentų:

Abu šie argumentai yra neprivalomi. Kaip minėta pirmiau, jei „sep“ argumentas nenurodytas, tarpai naudojami kaip atskyrimas skaidant. Argumento „maxsplit“ numatytoji reikšmė yra „-1“ ir jis pagal nutylėjimą padalija visus įvykius. Apsvarstykite toliau pateiktą kodą:

text = "LinuxHint.bendr.mus "
teksto.padalinti („.“)

Tai grąžins „['LinuxHint', 'co', 'us']“ kaip išvestį. Jei norite nutraukti skirstymą pirmą kartą atsirandant separatoriui, nurodykite „1“ kaip „maxsplit“ argumentą.

text = "LinuxHint.bendr.mus "
teksto.padalinti („.“, 1)

Aukščiau pateiktas kodas grąžins „['LinuxHint', 'co.mus '] “kaip išvestį. Tiesiog kaip antrąjį argumentą nurodykite įvykių skaičių, kuriame norite sustabdyti skaidymo procesą.

Atminkite, kad jei yra vienas po kito einančių skyriklių, tuščia eilutė bus grąžinta likusiems separatoriams po pirmojo padalijimo (kai nenaudojamas argumentas „maxsplit“):

text = "LinuxHint ... com"
teksto.padalinti (".")

Aukščiau pateiktas kodas grąžins „['LinuxHint',“, „com“] “kaip išvestį. Jei norite pašalinti tuščias eilutes iš gauto sąrašo, galite naudoti šį sąrašo supratimo sakinį:

text = "LinuxHint ... com"
rezultatas = tekstas.padalinti (".")
rezultatas = [elementas elementui rezultate, jei elementas != ""]
spausdinti (rezultatas)

Paleidus aukščiau pateiktą kodo pavyzdį, kaip išvestį gausite „['LinuxHint', 'com']“.

Atminkite, kad „split ()“ metodas juda iš kairės į dešinę, kad eilutės būtų padalintos į žodžius. Jei norite padalyti eilutę iš dešinės į kairę, vietoj jos naudokite „rsplit ()“. Jo sintaksė, naudojimas ir argumentai yra visiškai tokie patys kaip „split ()“ metodas.

Jei naudojant „split ()“ arba „rsplit ()“ metodus eilutėje nerandama separatoriaus, originali eilutė grąžinama kaip vienintelis sąrašo elementas.

Padalijimo metodas

„Partition ()“ metodas gali būti naudojamas eilučių padalijimui ir jis veikia identiškai „split ()“ metodui su tam tikrais skirtumais. Ryškiausias skirtumas yra tas, kad jis išlaiko separatorių ir įtraukia jį į elementą gautame rinkinyje, kuriame yra padalyti žodžiai. Tai ypač naudinga, jei norite padalyti eilutę į kartojamą objektą (šiuo atveju „dupleksą“), nepašalinant jokių originalių simbolių. Apsvarstykite toliau pateiktą kodą:

text = "LinuxHint.com "
rezultatas = tekstas.skaidinys (".")
spausdinti (rezultatas)

Aukščiau pateiktas kodo pavyzdys grąžins „('LinuxHint', '.',' com ') “kaip išvestį. Jei norite, kad rezultatas būtų sąrašo tipo, vietoj to naudokite šį kodo pavyzdį:

text = "LinuxHint.com "
rezultatas = sąrašas (tekstas.skaidinys ("."))
spausdinti (rezultatas)

Turėtumėte gauti „['LinuxHint', '.',' com '] “kaip išvestį paleidus aukščiau pateiktą kodo pavyzdį.

Metodas „partition ()“ apima tik vieną argumentą, vadinamą „sep“. Vartotojai gali nurodyti bet kokio ilgio separatorių. Skirtingai nuo „split ()“ metodo, šis argumentas yra privalomas, todėl negalima praleisti skyriklio. Tačiau kaip atskyriklį galite nurodyti tarpą.

Atkreipkite dėmesį, kad skaidinio metodas sustabdomas pirmą kartą atskyrus. Taigi, jei jūsų eilutėje yra keli skyrikliai, metodas „partition ()“ ignoruos visus kitus įvykius. Čia yra tai iliustruojantis pavyzdys:

text = "LinuxHint.bendr.mus "
rezultatas = sąrašas (tekstas.skaidinys ("."))
spausdinti (rezultatas)

Kodo pavyzdys sudarys „['LinuxHint', '.„,“ bendr.mus '] “kaip išvestį. Jei norite padalyti visais separatoriaus atvejais ir taip pat įtraukti separatorių į galutinį sąrašą, gali tekti naudoti „Reguliarios išraiškos“ arba „RegEx“ šabloną. Pirmiau minėtame pavyzdyje galite naudoti „RegEx“ modelį taip:

importo re
text = "LinuxHint.bendr.mus "
rezultatas = re.padalinti ("(\.) ", tekstas)
spausdinti (rezultatas)

Jūs gausite „['LinuxHint', '."," co ",".',' us '] "kaip išvestį atlikus minėtą kodo pavyzdį. Taško simbolis išvengtas aukščiau paminėtame „RegEx“ sakinyje. Atminkite, kad nors anksčiau pateiktas pavyzdys veikia su vienu taško simboliu, jis gali neveikti su sudėtingais separatoriais ir sudėtingomis eilutėmis. Priklausomai nuo naudojimo atvejo, gali tekti apibrėžti savo „RegEx“ modelį. Čia kaip tik paminėtas pavyzdys, kad galėtumėte suprasti, kaip separatorius laikomas galutiniame sąraše, naudojant „RegEx“ sakinius.

„Partition ()“ metodas kartais gali palikti tuščias eilutes, ypač kai skiriamojo eilutėje nerandama skaidyti. Tokiais atvejais galite naudoti sąrašo supratimo teiginius, kad pašalintumėte tuščias eilutes, kaip paaiškinta aukščiau esančiame metodo skyriuje „split ()“.

text = "LinuxHint"
rezultatas = sąrašas (tekstas.skaidinys ("."))
rezultatas = [elementas elementui rezultate, jei elementas != ""]
spausdinti (rezultatas)

Paleidę pirmiau nurodytą kodą, turėtumėte gauti „['LinuxHint']“ kaip išvestį.

Išvada

Jei norite paprastų ir nesudėtingų skaidymų, galite naudoti „split ()“ ir „partition ()“ metodus, kad gautumėte pasikartojančius tipus. Sudėtingoms eilutėms ir separatoriams turėsite naudoti „RegEx“ sakinius.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....