Metoda delitve
Metoda »split ()« se lahko uporablja za ločevanje besed z uporabniškim ločilom. Vrne seznam razdeljenih besed brez ločila. Če uporabnik ne določi ločila, se presledek (en ali več) uporabi kot en ločevalnik.
Na primer, spodnja koda bo kot izhod vrnila “['Linux', 'Hint']”:
text = "Namig za Linux"besedilo.razdeli ()
Spodnja koda bo vrnila "['LinuxHint', 'com']" kot izhodno sporočilo, ko "."Se uporablja kot ločilo:
text = "LinuxHint.com "besedilo.razdeljen (".")
Ločilo ne sme biti en sam znak. Metoda split ima dva argumenta:
- sep: ločilo, ki se uporablja za cepljenje
- maxsplit: število delitev
Oba argumenta sta neobvezna. Kot je bilo omenjeno zgoraj, če argument "sep" ni določen, se presledek uporablja kot ločilo za ločevanje. Argument "maxsplit" ima privzeto vrednost "-1" in privzeto razdeli vse pojavitve. Upoštevajte spodnjo kodo:
text = "LinuxHint.co.nas "besedilo.razdeljen (".")
Kot izhod bo vrnil “['LinuxHint', 'co', 'us']”. Če želite ustaviti delitev ob prvem pojavu ločila, kot argument »maxsplit« določite »1«.
text = "LinuxHint.co.nas "besedilo.razdeljen (".", 1)
Zgornja koda bo vrnila "['LinuxHint', 'co.us '] "kot izhod. Samo navedite število ponovitev, pri katerih želite, da se postopek razdelitve ustavi kot drugi argument.
Upoštevajte, da če obstajajo zaporedna ločila, bo za preostala ločila po prvem razdelitvi vrnjen prazen niz (kadar argument »maxsplit« ni uporabljen):
text = "LinuxHint ... com"besedilo.razdeli (".")
Zgornja koda bo vrnila “['LinuxHint', ',' com ']' kot izhod. Če želite s nastalega seznama odstraniti prazne nize, lahko uporabite naslednjo izjavo o razumevanju seznama:
text = "LinuxHint ... com"rezultat = besedilo.razdeli (".")
rezultat = [element za element v rezultatu, če je element != ""]
natisni (rezultat)
Ko zaženete zgornji vzorec kode, boste kot izhod dobili "['LinuxHint', 'com']".
Upoštevajte, da se metoda »split ()« premika od leve proti desni, da razdeli nize v besede. Če želite niz razdeliti od desne proti levi, namesto tega uporabite »rsplit ()«. Njegova sintaksa, uporaba in argumenti so popolnoma enaki metodi »split ()«.
Če med metodama “split ()” ali “rsplit ()” v nizu ni najdeno ločilo, se prvotni niz vrne kot edini element seznama.
Metoda razdelitve
Metoda “partition ()” se lahko uporablja za ločevanje nizov in deluje enako kot metoda “split ()” z nekaterimi razlikami. Najbolj opazna razlika je v tem, da ohrani ločilo in ga vključi kot element v nastali nabor, ki vsebuje razdeljene besede. To je še posebej koristno, če želite niz razdeliti na predmet, ki ga je mogoče iti (v tem primeru nabor), ne da bi odstranili izvirne znake. Upoštevajte spodnjo kodo:
text = "LinuxHint.com "rezultat = besedilo.particija (".")
natisni (rezultat)
Zgornji vzorec kode bo vrnil “('LinuxHint', '.',' com ') ”kot izhod. Če želite, da je rezultat vrste seznama, raje uporabite naslednji vzorec kode:
text = "LinuxHint.com "rezultat = seznam (besedilo.particija ("."))
natisni (rezultat)
Morali bi dobiti "['LinuxHint', '.',' com '] ”kot izhod po zagonu zgornjega vzorca kode.
Metoda “partition ()” ima samo en argument, imenovan “sep”. Uporabniki lahko določijo ločilo katere koli dolžine. Za razliko od metode “split ()” je ta argument obvezen, zato ločila ne morete izpustiti. Vendar lahko presledek določite kot ločilo.
Upoštevajte, da se metoda particije ustavi ob prvem pojavu ločila. Če torej vaš niz vsebuje več ločil, bo metoda “partition ()” prezrla vse druge pojavitve. Tu je primer, ki to ponazarja:
text = "LinuxHint.co.nas "rezultat = seznam (besedilo.particija ("."))
natisni (rezultat)
Vzorec kode bo ustvaril “['LinuxHint', '.',' co.us '] "kot izhod. Če želite ločiti vse pojavitve ločila in ločilo vključiti tudi na končni seznam, boste morda morali uporabiti vzorec »Regular Expression« ali »RegEx«. Za zgoraj omenjeni primer lahko vzorec RegEx uporabite na naslednji način:
uvozi ponovnotext = "LinuxHint.co.nas "
rezultat = ponovno.split ("(\.) ", besedilo)
natisni (rezultat)
Dobili boste "['LinuxHint', '.',' co ','.',' us '] ”kot izhod po izvedbi zgornjega vzorca kode. Znak pike je v zgoraj omenjeni izjavi RegEx izognjen. Upoštevajte, da čeprav zgornji primer deluje z eno piko, morda ne bo deloval z zapletenimi ločili in zapletenimi nizi. Morda boste morali določiti svoj vzorec RegEx, odvisno od primera uporabe. Primer je pravkar omenjen tukaj, da dobite nekaj predstave o postopku ohranjanja ločevalnika na končnem seznamu z uporabo stavkov RegEx.
Metoda “partition ()” lahko včasih pusti prazne nize, še posebej, če ločila v nizu ni mogoče razdeliti. V takih primerih lahko s stavki za razumevanje seznama odstranite prazne nize, kot je razloženo v zgornjem razdelku metode »split ()«.
text = "LinuxHint"rezultat = seznam (besedilo.particija ("."))
rezultat = [element za element v rezultatu, če je element != ""]
natisni (rezultat)
Po zagonu zgornje kode bi morali kot izhod dobiti "['LinuxHint']".
Zaključek
Za enostavne in enostavne delitve lahko uporabite metode »split ()« in »partition ()«, da dobite iterabilne tipe. Za kompleksne nize in ločila boste morali uporabiti stavke RegEx.