Rozdělení řetězce v Pythonu je docela jednoduché. Toho lze dosáhnout pomocí vestavěné funkce „split ()“ Pythonu.
The rozdělit() metoda v Pythonu odděluje každé slovo v řetězci čárkou a mění jej na seznam slov. Tato příručka vás provede různými způsoby, jak můžete rozdělit řetězec v Pythonu.
Jak používat metodu rozdělení Pythonu
Jak již bylo zmíněno dříve, ve výchozím nastavení je Python integrován rozdělit() funkce rozdělí řetězec na jednotlivá slova oddělená čárkami. Přijímá však dva volitelné argumenty a takto vypadá syntaxe:
string.split ([separatng criteria], [break point or max_split])
Když zadáte a oddělovací kritéria, funkce vyhledá tato kritéria v řetězci a inicializuje rozdělení v daném bodě. Jinak ve výchozím nastavení rozdělí řetězec kdekoli, kde je prázdné místo.
Podívejte se na níže uvedený příklad, abyste zjistili, jak to funguje. Zde jsou mezery ve výchozím nastavení bílé mezery, protože jsme nezadali jedno:
myTexts = 'Jak rozdělit text v Pythonu'
splitString = myTexts.split ()
tisk (splitString)
Výstup: ['How', 'to', 'split', 'a', 'text', 'in', 'Python']
Podívejme se, jak rozdělit() metoda funguje, když zadáte oddělovací kritéria. V tomto příkladu je čárkou oddělovací kritérium:
myTexts = 'Jak rozdělit text v Pythonu'
print (myTexts.split (","))
Pro lepší pochopení níže uvedený příklad kódu rozděluje řetězce všude tam, kde je tečka. Tečky zde představují kritéria oddělení:
myTexts = 'Jak rozdělit text v. Krajta'
print (myTexts.split ("."))
Výstup: ['How to split', 'a text in', 'Python']
max_split je celé číslo, které určuje maximální počet konců řetězce. Ještě důležitější je, že označuje bod, kde se řetězec zlomí.
Tuto hodnotu tedy můžete zahrnout do závorek, aby se řetězec v konkrétních bodech zlomil.
Níže uvedený kód například rozdělí texty na dva a zastaví se druhou čárkou:
myTexts = 'How, to, split, a, text, in, Python'
print (myTexts.split (",", 2))
Výstup: ['How', 'to', 'split, a, text, in, Python']
Chcete-li zjistit, jak to funguje dále, oddělte řetězec v níže uvedeném kódu, aby se zastavil u druhé tečky:
myTexts = 'How.to split.a text.in. Krajta'
print (myTexts.split (".", 2))
Výstup: ['How', 'to split', 'a text.in. Krajta']
Zatímco rozdělit() metoda nerozbije řetězce na abecedy, můžete toho dosáhnout pomocí pro smyčka:
myTexts = 'Jak rozdělit text v Pythonu'
Abecedy = []
pro každého v myTexts:
alphas = každý
Alphabets.append (alphas)
tisk (abecedy)
Příbuzný: Jak připojit seznam v Pythonu
Místo přidání do seznamu, jako jsme to udělali v kódu výše, můžete kód zkrátit o pomocí porozumění seznamu:
y = [každý pro každého v myTexts]
tisk (y)
Vytvořte čítač slov pomocí funkce rozdělení Pythonu
Můžete použít Python rozdělit() v mnoha ohledech. Můžete například spočítat počet slov po rozdělení každého řetězce:
myTexts = 'Jak rozdělit text v Pythonu'
print (len (myTexts.split ()))
Výstup: 7
Upravte výše uvedený kód a spočítejte slova v samostatném souboru. K tomu můžete vytvořit funkci. Zde však musíte otevřít a přečíst soubor obsahující text.
Nejprve rozdělte text a proveďte počet vrácením délky výsledného rozdělení pomocí vestavěného len () funkce:
def countWords (soubor):
myFile = otevřít (soubor, 'r')
Soubor = myFile.read ()
splitString = File.split ()
return len (splitString)
print (countWords ('[Path to Yourfile.txt]')))
I když je to trochu složité, můžete to udělat také pomocí pro pouze smyčka:
def countWords (soubor):
myFile = otevřít (soubor, 'r')
Soubor = myFile.read ()
Soubor = [Soubor]
pro soubory v souboru:
vrátit files.count ('') + 1
print (countWords ('[Path to Yourfile.txt]')))
Příbuzný: Jak otevřít, číst a zapisovat do souboru v Pythonu
Chcete-li pro smyčka číst každé slovo samostatně, měli byste vložit soubor do samostatného seznamu, jak jsme to udělali ve výše uvedeném kódu. Kromě toho vynuťte počet slov ponecháním mezery mezi prázdnými uvozovkami v závorkách. Jinak vám poskytne nesprávný výstup.
Takže kód funguje tak, že spočítá mezery mezi každým slovem a poté přidá 1 k celému počtu, aby získal skutečný počet slov.
Zjednodušte svůj kód
The rozdělit() Funkce je cenným nástrojem Pythonu a jak jste viděli, můžete ji použít k počítání slov v souboru. Můžete s ním dokonce řešit další problémy, jak si přejete. V Pythonu existuje mnoho dalších vestavěných funkcí, jako je tato, které rychle a efektivně zjednodušují složité operace.
Takže místo psaní dlouhých bloků kódu je vždy užitečné vyzkoušet efektivnější, jednodušší a rychlejší vestavěné metody řešení různých problémů s kódováním. To znamená, že kromě rozdělení existuje mnoho dalších způsobů manipulace s řetězci. Vždy je můžete vyzkoušet, abyste vylepšili manipulaci s řetězci v Pythonu.
Používání a manipulace s řetězci v Pythonu se může zdát obtížné, ale je to klamně přímé.
Přečtěte si další
- Programování
- Krajta
- Výukové programy pro kódování
Idowu je vášnivý pro cokoli inteligentního a produktivního. Ve svém volném čase si hraje s kódováním a když se nudí, přepne se na šachovnici, ale také rád občas vybočuje z rutiny. Jeho vášeň ukázat lidem cestu kolem moderních technologií ho motivuje k dalšímu psaní.
Přihlaste se k odběru našeho zpravodaje
Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!
Ještě jeden krok…!
V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.