Pythonský řetězec | Split() a jak jej používat

© metamorworks / Shutterstock.com

Python je nejpopulárnější programovací jazyk na světě, a to díky nástrojům jako Řetězec | Rozdělit(). Víte, Python obsahuje mnoho nativních zkratek a alternativních způsobů kódování, což novým programátorům nekonečně usnadňuje život.

Řetězec | Split() je jednou z takových metod a bude se hodit při práci s řetězci, textovými dokumenty nebo dlouhými databázemi. Tento článek vám řekne vše, co o něm potřebujete vědět, od jeho syntaxe až po nejčastější chyby, kterých se nováčci dopouštějí, a jak se jim vyhnout.

Pojďme se ponořit!

Jaký je řetěz | Metoda Split()?

Při kódování v Pythonu můžeme pracovat s velkým množstvím dat. Tato data dostávají název nebo třídu podle jejich povahy. Řetězce jsou třídou dat, která obvykle obsahuje text, čísla a další informace zobrazené jako znaky Unicode.

K třídám můžete přistupovat pomocí různých nástrojů nativně zahrnutých v Pythonu. Split() je jednou z těchto předdefinovaných tříd a pracuje výhradně s řetězci.

Řetězce mají svou vlastní kolekci metod. Metody fungují jako funkce specificky navržená pro jednu třídu a nemohou fungovat v žádné jiné kromě přiřazené.

Metoda split() tedy může (jak název napovídá) rozdělit řetězec a poté na základě výsledků vrátit nový seznam. Můžeme určit, co chceme, aby to vracelo na základě určitých parametrů, ale pojďme nejprve k základům.

Řetězec | Syntaxe Split().

Syntaxe při práci s Split() je velmi jednoduchá, díky čemuž je opravdu přitažlivá pro nové i zkušené programátory.

Nejprve stanovíme řetězcovou proměnnou připojenou k metodě. Pak první parametr v závorce, nazvaný oddělovač, definuje, kdy se řetězec rozdělí. Není-li definováno, bude jako oddělovač fungovat jakékoli prázdné místo.

Druhý parametr, maximální rozdělení, je maximální počet rozdělení řetězce. Pokud jej neuvedeme, pak je standardně nastaveno -1, což znamená nekonečný počet dělení.

Nyní se podívejme, jak to celé vypadá:

©Histoire-Informatique.com

Jak vidíte, vytvořili jsme nový seznam se slovy z původního řetězce.

V tomto příkladu nejsou parametry specifikovány, což znamená, že oddělovač a parametry maxsplit jsou ponechány ve výchozím stavu. Původní řetězec je tedy rozdělen vždy, když je mezera, kolikrát je to možné.

Vzorové kódy

Podívejme se, jak funguje Split, když definujeme a oddělovač.

©Histoire-Informatique.com

Jak vidíte, v tomto příkladu jsme specifikovali parametr separátoru, kde jsme chtěli řetězec rozdělit. Je třeba poznamenat, že ačkoli jsme jako příklady použili interpunkční znaménka, může být vše, co potřebujete, parametr oddělovače. Vytištěný kód je v obou případech stejný.

Řetězec | Split() s maximálním počtem rozdělení

Když parametr maxsplit obdrží hodnotu, zpětná vazba se zastaví na uvedeném čísle.

©Histoire-Informatique.com

Jak můžete vidět, rozdělit() Metoda čte kód zleva doprava, což znamená, že pokud v tomto řetězci zadáme maximálně 1 rozdělení se 4 prvky, získáme první prvek v samostatném řetězci z následujících tří.

Proč používat String | Rozdělit()?

Právě jsme viděli, co dokáže metoda rozdělení na jednoduchých příkladech, ale ty zdaleka neukazují skutečnou situaci.

Nyní si udělejte chvilku a představte si, že pracujete s velmi rozsáhlým dokumentem, plným textu a obsahu, který potřebujete zpracovat. Projekty Pythonu se obvykle zabývají velkým množstvím dat, takže jsou docela přesné.

Právě tehdy můžete ocenit plnou sílu split().

Jakýkoli text můžete převést na velká nebo malá písmena, vytvořit seznam položek nebo nahradit obsah pomocí kombinace jiných metod řetězců.

Pomocí metody split() můžete upravit libovolný textový dokument, jako by to byl řetězec. Stačí zadat parametry (v případě potřeby) a můžete začít. Vytvoří se nový seznam připravený na jakékoli změny, na které si vzpomenete.

Pojďme napsat nějaký ukázkový text, abychom ho mohli zpracovat. Představme si, že je to .txt dokument, který importujeme do kódu:

©Histoire-Informatique.com

Nyní, když máme dokument, podívejme se, jak funguje syntaxe.

©Histoire-Informatique.com

Funkce "with" je kontextový manažer, který nám umožňuje volat a používat soubor v projektu Python.

Pomocí metody read() uložíte dokument do nové proměnné. Poté aplikujeme Split() na proměnnou obsahující text a nastavíme vykřičník jako oddělovač. Poté se vytvoří nový seznam položek.

Nakonec je každá položka v seznamu vytištěna pomocí cyklu for. Pojďme se podívat na výstup:

©Histoire-Informatique.com

Je to zachránce při práci s dlouhými textovými dokumenty! Můžete začít vidět, že metoda string.split() má skutečnou užitečnost: šetří čas a prostředky a zároveň dělá kód přehlednějším a snadněji se ladí.

Časté chyby, kterým je třeba se vyhnout

Častou chybou při použití funkce split() je zadání oddělovače nebo znaku, který vybraný řetězec neobsahuje. Podívejme se, co by Split() v tomto případě vrátilo:

©Histoire-Informatique.com

Jak vidíte, Split() nevyvolá chybu, ale místo toho vytiskne jednu položku ze seznamu obsahujícího řetězec. Ve skutečnosti to může být horší, než když nějaká část vašeho kódu vyvolá chybu, protože může být obtížnější ji najít a odladit. Mějte to na paměti při práci s velkými databázemi, protože tato chyba může způsobit, že váš kód vytvoří nesmyslné datové řetězce.

Další běžnou situací je příjem skupiny po sobě jdoucích bílých míst v jednom řetězci. Je to z velké části způsobeno tím, jak tato metoda interpretuje parametry, které jí dáváme.

Když se v řetězci objeví dva nebo více bílých míst po sobě, Split() s ním zachází, jako by to byl jeden vložený prázdný prostor.

Podívejme se na příklad:

©Histoire-Informatique.com

Nyní dostaneme něco velmi odlišného, ​​když zadáme mezeru jako oddělovač. Vrácený výsledek se bude lišit, protože Split() považuje dvě nadbytečná prázdná místa za různé znaky.

©Histoire-Informatique.com

To může být záludná chyba, protože možná nevíte, jaké parametry zadat, abyste získali požadovaný výnos. Zkuste proto napsat oba argumenty a vyberte ten, který vrátí to, co potřebujete. Zvykněte si také kontrolovat řetězec, se kterým pracujete, abyste se vyhnuli chybám.

Závěr: Python String | Rozdělit a jak jej používat

Byla to pořádná jízda! Zopakujme si, co jsme se naučili.

Split() je jednoduchá, ale neuvěřitelně užitečná metoda, která nám umožňuje manipulovat s jakýmikoli informacemi uloženými jako řetězec, jako jsou jména, adresy a jakákoli data reprezentovaná jako znaky Unicode.

Pro zajímavé kombinace můžete použít split() s jinými řetězcovými metodami, jako je slice() a format(). Jak je vidět ve výše uvedených příkladech, syntaxe je jednoduchá a snadno použitelná, díky čemuž bude váš kód vypadat profesionálněji, efektivněji a snáze se ladí.

Metodu split() shledáte zvláště užitečnou při práci s dlouhými textovými dokumenty nebo dlouhými databázemi reprezentovanými jako řetězce. Ať už jste herní programátor nebo datový analytik, tato metoda vám jistě pomůže na vaší programovací cestě.

Nyní je čas otevřít editor kódu a vyzkoušet Split() ve svých projektech. Hodně štěstí!

Pythonský řetězec | Split() a jak jej používat FAQ (Často kladené otázky)

Kdy byl vydán Python?

Python byl vydán v roce 1991 jeho tvůrcem Guido van Rossumem jako nástupce programovacího jazyka ABC. Python 2.0 se poprvé objevil v roce 2000. Aktuální verze, Python 2.7.18, byla vydána v roce 2020.

Jaký je rozdíl mezi metodou a funkcí?

Technicky jsou stejné, ale obecně platí pro různé úkoly. Metoda je funkce, která může pracovat pouze s určitou třídou. Na druhou stranu můžete přiřadit funkce pro práci s libovolným typem proměnné.

Je Python populární programovací jazyk?

Spolu s C, Java a mnoha dalšími je Python jedním z nejpopulárnějších programovacích jazyků na světě díky své jednoduchosti a použitelnosti v rostoucím světě analýzy dat.

Mohu použít Split() k vrácení části řetězce?

Ne. Pro takový úkol budete muset použít jiný nástroj Pythonu s názvem operátor Slicing. Metoda Split vždy vrátí celý řetězec rozdělený do nového seznamu.

Je Split() k dispozici v jiném programovacím jazyce?

Ano. Split() je metoda nativně zastoupená v mnoha programovacích jazycích kromě Pythonu, jako je C a Java. Každý jazyk používá jinou syntaxi, ale nakonec metoda vede k podobným výsledkům.

Pro čtení také