Jaettu menetelmä
"Split ()" -menetelmää voidaan käyttää sanojen jakamiseen käyttäjän määrittelemällä erottimella. Se palauttaa jaettujen sanojen luettelon ilman erottinta. Jos käyttäjä ei ole määrittänyt erotinta, tyhjänä tilaa (yhtä tai useampaa) käytetään yhtenä erottimena.
Esimerkiksi alla oleva koodi palauttaa "['Linux', 'Vihje'] lähdön:
text = "Linux-vihje"teksti.jakaa()
Alla oleva koodi palauttaa "['LinuxHint', 'com']", kun ".”Käytetään erottimena:
text = "LinuxHint.com "teksti.jakaa(".”)
Erottimen ei tarvitse olla yksi merkki. Jakomenetelmässä on kaksi argumenttia:
- sep: erotin, jota käytetään halkaisuun
- maxsplit: tehtävien osien lukumäärä
Molemmat argumentit ovat valinnaisia. Kuten yllä mainittiin, jos “sep” -argumenttia ei ole määritelty, välilyöntiä käytetään jakamiseen erotinmerkkinä. "Maxsplit" -argumentin oletusarvo on "-1", ja se jakaa oletusarvoisesti kaikki esiintymät. Harkitse alla olevaa koodia:
text = "LinuxHint.yhteistyössä.meille"teksti.jakaa(".”)
Se palauttaa "['LinuxHint', 'co', 'us']" tuotoksena. Jos haluat lopettaa jakamisen erotimen ensimmäisellä esiintymiskerralla, määritä "maxsplit" -argumentiksi "1".
text = "LinuxHint.yhteistyössä.meille"teksti.jakaa(".”, 1)
Yllä oleva koodi palauttaa "['LinuxHint', 'co.us '] "tuotoksena. Määritä vain niiden tapahtumien lukumäärä, joissa haluat jakoprosessin pysähtyvän toisena argumenttina.
Huomaa, että jos on olemassa peräkkäisiä erottimia, tyhjä merkkijono palautetaan jäljellä oleville erottimille ensimmäisen jaon jälkeen (kun argumenttia "maxsplit" ei käytetä):
text = "LinuxHint… fi"teksti.jakaa(".")
Yllä oleva koodi palauttaa ”[” LinuxHint ”,” com ”] lähdön. Jos haluat poistaa tyhjät merkkijonot tuloksena olevasta luettelosta, voit käyttää seuraavaa luettelon ymmärtämislauseketta:
text = "LinuxHint… fi"tulos = teksti.jakaa(".")
tulos = [kohde kohteelle tuloksessa, jos kohde != ""]
tulosta (tulos)
Saat "['LinuxHint', 'com']" lähdöksi yllä mainitun koodinäytteen suorittamisen jälkeen.
Huomaa, että "split ()" -menetelmä siirtyy vasemmalta oikealle jakamaan merkkijonot sanoiksi. Jos haluat jakaa merkkijonon oikealta vasemmalle, käytä sen sijaan ”rsplit ()”. Sen syntakse, käyttö ja argumentit ovat täsmälleen samat kuin "split ()" - menetelmä.
Jos merkkijonosta ei löydy erotinta käytettäessä ”split ()” tai “rsplit ()” -menetelmiä, alkuperäinen merkkijono palautetaan ainoana luetteloelementtinä.
Jakamistapa
"Partition ()" -menetelmää voidaan käyttää merkkijonojen jakamiseen ja se toimii identtisesti "split ()" -menetelmän kanssa eräin eroin. Merkittävin ero on, että se säilyttää erotimen ja sisällyttää sen erään tuloksena olevaan sekoitettuun sanaan, joka sisältää jaettuja sanoja. Tämä on erityisen hyödyllistä, jos haluat jakaa merkkijonon iteroitavaksi objektiksi (tässä tapauksessa kaksinkertainen) poistamatta alkuperäisiä merkkejä. Harkitse alla olevaa koodia:
text = "LinuxHint.com "tulos = teksti.osio (".")
tulosta (tulos)
Yllä oleva koodinäyte palauttaa “('LinuxHint', '.',' com ') ”tuotoksena. Jos haluat, että tulos on luettelotyyppi, käytä seuraavaa koodinäytettä:
text = "LinuxHint.com "tulos = luettelo (teksti.osio ("."))
tulosta (tulos)
Sinun pitäisi saada "['LinuxHint', '.',' com '] ”tuotoksena yllä olevan koodinäytteen suorittamisen jälkeen.
"Partition ()" -menetelmässä on vain yksi argumentti nimeltä "sep". Käyttäjät voivat määrittää minkä tahansa pituisen erottimen. Toisin kuin split () -menetelmä, tämä argumentti on pakollinen, joten erotinta ei voi jättää väliin. Voit kuitenkin määrittää välilyönnin erottimeksi.
Huomaa, että osiointimenetelmä pysähtyy erotimen ensimmäisellä esiintymiskerralla. Joten jos merkkijonosi sisältää useita erottimia, ”partition ()” -menetelmä ohittaa kaikki muut esiintymät. Tässä on esimerkki tästä:
text = "LinuxHint.yhteistyössä.meille"tulos = luettelo (teksti.osio ("."))
tulosta (tulos)
Koodinäyte tuottaa "['LinuxHint', '.',' co.us '] "tuotoksena. Jos haluat jakaa erottimen kaikissa esiintymissä ja sisällyttää erottimen myös lopulliseen luetteloon, saatat joutua käyttämään "Regular Expression" - tai "RegEx" -mallia. Edellä mainitussa esimerkissä voit käyttää RegEx-mallia seuraavasti:
tuoda uudelleentext = "LinuxHint.yhteistyössä.meille"
tulos = re.jakaa("(\.) ", teksti)
tulosta (tulos)
Saat "['LinuxHint', '.',' co ','.',' us '] "tuotoksena yllä olevan koodinäytteen suorittamisen jälkeen. Pistemerkki on vältetty yllä mainitussa RegEx-lauseessa. Huomaa, että vaikka yllä oleva esimerkki toimii yhden pistemerkin kanssa, se ei välttämättä toimi monimutkaisten erotinten ja monimutkaisten merkkijonojen kanssa. Sinun on ehkä määritettävä oma RegEx-mallisi käyttötapauksesta riippuen. Esimerkki mainitaan juuri tässä, jotta saat käsityksen erottimen säilyttämisestä lopullisessa luettelossa RegEx-käskyjen avulla.
"Partition ()" -menetelmä voi joskus jättää tyhjiä merkkijonoja, varsinkin kun erotinta ei löydy jaettavasta merkkijonosta. Tällaisissa tapauksissa voit käyttää tyhjentäviä merkkijonoja luettelon ymmärtämislausekkeiden avulla, kuten yllä olevassa split () -menetelmäosassa kerrotaan.
text = "LinuxHint"tulos = luettelo (teksti.osio ("."))
tulos = [kohde kohteelle tuloksessa, jos kohde != ""]
tulosta (tulos)
Kun olet suorittanut yllä olevan koodin, sinun pitäisi saada ”[” LinuxHint '] ”lähtöön.
Johtopäätös
Yksinkertaisissa ja suoraviivaisissa jakoissa voit saada iteroitavia tyyppejä "split ()" ja "partition ()" -menetelmillä. Monimutkaisten merkkijonojen ja erottimien osalta sinun on käytettävä RegEx-käskyjä.