Piton

A karakterláncok felosztása a Pythonban

A karakterláncok felosztása a Pythonban
Ez a cikk elmagyarázza, hogyan lehet felosztani a karakterláncokat a pythonban a „split ()” és a „partition ()” módszerekkel. Ezek a módszerek különösen akkor hasznosak, ha egy mondatot vagy szavak csoportját értelmezhető és iterálható Python típusokká kívánja konvertálni. Az ebben az útmutatóban szereplő összes kódmintát a Python 3-as verziójával tesztelik.8.6.

Felosztási módszer

A „split ()” módszer használható szavak felosztására a felhasználó által megadott elválasztó segítségével. A szétválasztott szavak listáját adja vissza az elválasztó nélkül. Ha a felhasználó nem határoz meg elválasztót, akkor a szóközt (egy vagy több) egyetlen elválasztóként használják.

Például az alábbi kód kimenetként „['Linux', 'Tipp']" -t adja vissza:

text = "Linux Tipp"
szöveg.hasított()

Az alábbi kód a „['LinuxHint', 'com']" kimenetet adja vissza, amikor.”Elválasztóként használatos:

text = "LinuxHint.com "
szöveg.hasított(".”)

Az elválasztónak nem feltétlenül egyetlen karakternek kell lennie. A felosztási módszer két érvet tartalmaz:

Mindkét érv nem kötelező. Mint fent említettük, ha a „sep” argumentum nincs megadva, akkor a szóközt elválasztóként használják a felosztáshoz. A „maxsplit” argumentum alapértelmezett értéke „-1”, és alapértelmezés szerint felosztja az összes előfordulást. Vegye figyelembe az alábbi kódot:

text = "LinuxHint.társ.minket"
szöveg.hasított(".”)

Kimenetként a „['LinuxHint', 'co', 'us']" szót adja vissza. Ha az elválasztó első előfordulásakor le akarja állítani a felosztást, adja meg az „1” értéket „maxsplit” argumentumként.

text = "LinuxHint.társ.minket"
szöveg.hasított(".”, 1)

A fenti kód a következőt adja vissza: „['LinuxHint', 'co.us '] ”kimenetként. Csak adja meg azoknak az előfordulásoknak a számát, ahol a felosztási folyamatot le kell állítani második argumentumként.

Ne feledje, hogy ha vannak egymást követő elválasztók, akkor a többi elválasztó számára egy üres karakterláncot adunk vissza az első felosztás után (ha a „maxsplit” argumentumot nem használjuk):

text = "LinuxHint… com"
szöveg.hasított(".")

A fenti kód kimenetként a [['LinuxHint', ',' com '] "szót adja vissza. Abban az esetben, ha az üres karakterláncokat el akarja távolítani az eredményül kapott listából, használhatja a következő szövegértési utasítást:

text = "LinuxHint… com"
eredmény = szöveg.hasított(".")
eredmény = [elem az elemhez az eredményben, ha elem != ""]
nyomtatás (eredmény)

A fenti kódminta futtatása után kimenetként a „['LinuxHint', 'com']] szót kapja.

Ne feledje, hogy a „split ()” módszer balról jobbra mozog, hogy a karakterláncokat szavakra bontsa. Ha a karakterláncot jobbról balra akarja osztani, használja helyette az „rsplit ()” szót. Szintaxisa, használata és argumentumai pontosan megegyeznek a „split ()” módszerrel.

Ha a szétválasztó nem található a karakterláncban a „split ()” vagy „rsplit ()” metódusok használata közben, akkor az eredeti karakterlánc kerül visszaadásra egyetlen listaelemként.

Partíció módszere

A „partition ()” metódus használható sztringek felosztására, és bizonyos eltérésekkel azonos a „split ()” módszerrel. A legjelentősebb különbség az, hogy megtartja az elválasztót, és elemként tartalmazza a kapott kettéosztott szavakat tartalmazó kettőben. Ez különösen akkor hasznos, ha a karakterláncot iterálható objektummá kívánja osztani (ebben az esetben duplán), eredeti karakterek eltávolítása nélkül. Vegye figyelembe az alábbi kódot:

text = "LinuxHint.com "
eredmény = szöveg.partíció (".")
nyomtatás (eredmény)

A fenti kódminta „('LinuxHint', '.',' com ') ”kimenetként. Ha azt szeretné, hogy az eredmény listatípusú legyen, használja a következő kódmintát:

text = "LinuxHint.com "
eredmény = lista (szöveg.partíció ("."))
nyomtatás (eredmény)

Meg kell kapnod a „['LinuxHint', '.',' com '] ”kimenetként a fenti kódminta futtatása után.

A „partition ()” metódus csak egy „sep” nevű argumentumot tartalmaz. A felhasználók bármilyen hosszúságú elválasztót megadhatnak. A „split ()” módszerrel ellentétben ez az argumentum kötelező, ezért nem hagyhatja ki az elválasztót. Azonban elválasztóként megadhatja a szóközt.

Vegye figyelembe, hogy a particionálási módszer leáll az elválasztó első előfordulásakor. Tehát, ha a karakterlánc több elválasztót tartalmaz, a “partition ()” módszer figyelmen kívül hagyja az összes többi előfordulást. Íme egy példa erre:

text = "LinuxHint.társ.minket"
eredmény = lista (szöveg.partíció ("."))
nyomtatás (eredmény)

A kódminta előállítja a „['LinuxHint', '.',' co.us '] "kimenetként. Ha el akarja osztani az elválasztó minden előfordulását, és az elválasztót is fel szeretné venni a végső listába, akkor előfordulhat, hogy „Reguláris kifejezés” vagy „RegEx” mintát kell használnia. A fent említett példához a RegEx mintát a következőképpen használhatja:

import re
text = "LinuxHint.társ.minket"
eredmény = re.hasított("(\.) ", szöveg)
nyomtatás (eredmény)

Megkapja a „['LinuxHint', '.',' co ','.',' us '] "kimenetként a fenti kódminta végrehajtása után. A pont karaktert elkerülte a fent említett RegEx utasítás. Vegye figyelembe, hogy bár a fenti példa egyetlen pont karakterrel működik, előfordulhat, hogy nem működik összetett elválasztókkal és összetett karakterláncokkal. Előfordulhat, hogy meg kell határoznia a saját RegEx mintáját a felhasználási esettől függően. A példát csak azért említjük meg, hogy ötletet adjon az elválasztó végleges listában tartásának folyamatáról a RegEx utasítások segítségével.

A „partition ()” módszer néha üres karakterláncokat hagyhat, különösen akkor, ha az elválasztó nem található a felosztandó karakterláncban. Ilyen esetekben használhatja a listát megértő utasításokat az üres karakterláncok eltávolításához, amint azt a fenti „split ()” módszer szakasz leírja.

text = "LinuxHint"
eredmény = lista (szöveg.partíció ("."))
eredmény = [elem az elemhez az eredményben, ha elem != ""]
nyomtatás (eredmény)

A fenti kód futtatása után kimenetként meg kell kapnia a „['LinuxHint']” szót.

Következtetés

Az egyszerű és egyértelmű felosztáshoz használhatja a „split ()” és a „partition ()” módszereket az iterálható típusok megszerzéséhez. Összetett karakterláncok és elválasztók esetén a RegEx utasításokat kell használnia.

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...