Pochopení podřetězců v Pythonu s příklady

Tento článek si klade za cíl přivést studenta k lepšímu pochopení podřetězců v Pythonu.

Naučí vás, jak vytvořit podřetězec, extrahovat jeho různé části z řetězce a jak fungují podřetězce v Pythonu pomocí několika příkladů, jak to implementovat. Dále zkontrolujeme existenci podřetězce v řetězci.

Než začneme, je nezbytné vědět, co je řetězec a podřetězec. Řetězec je posloupnost znaků Unicode sestávající z alfanumerických znaků a/nebo speciálních znaků. Podřetězec můžeme definovat jako část posloupnosti znaků v řetězci.

Budeme diskutovat o následujícím:

  • Vytvoření podřetězce.
  • Způsoby krájení podřetězce.
  • Počet výskytů podřetězce
  • Zjištění přítomnosti podřetězce v řetězci.

Pojďme začít!

Vytvoření podřetězce

Podřetězec se vytváří převážně technikou krájení. Tato technika umožňuje extrakci podřetězce definováním oddělovačů počáteční-index, koncový-index a krok. Tyto oddělovače umožňují extrakci zadáním přesného indexu znaků, které chcete získat.

Syntaxe vypadá takto:

string[begin-index: end-index: step]

Všimněte si, že hodnota indexu v libovolném řetězci začíná od nuly.

Parametr begin-index udává počáteční index podřetězce. Pokud tedy tento prvek při krájení vynecháte, Python automaticky předpokládá, že jeho hodnota indexu je nula.

End-index je poslední index podřetězce. Když to neuvedete, krájení předpokládá, že jeho hodnota se rovná délce řetězce.

Krok: Označuje další znak, který je třeba vzít v úvahu po aktuálním znaku. Hodnota tohoto parametru je obvykle jedna. Když je parametr step vynechán během krájení, jeho hodnota se stále předpokládá jako jedna.

  Jak zkontrolovat baterii Apple TV Remote

Způsoby krájení provázku

Existuje několik způsobů, jak můžeme získat podřetězec z řetězce. Tyto zahrnují:

#1. Dělení pomocí počátečního a koncového indexu.

String = string[begin-index : end-index]

V případě, že chcete získat křestní jméno osoby z jejího celého jména, implementujete to takto:

string = 'Michael Doe'

print(string[0:7])

Výstupem bude:

Michael

#2. Dělení pomocí počátečního indexu bez koncového indexu.

String= string[begin-index:]

Zde pouze uvedeme, z jakého indexu chceme začít extrahovat naše podřetězcové znaky z řetězce – krájení extraktů až na poslední index celého řetězce, který má obvykle index -1.

Příklad:

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

Výstup:

to demonstrate slicing of a string using the begin-index without the end-index

#3. Dělení pomocí koncového indexu bez počátečního indexu.

String = string[:end-index]

Zde uvádíme poslední znak, který by měl podřetězec obsahovat, přičemž vynecháme místo, kde by měl začínat. Při krájení se tedy zobrazí podřetězec začínající znakem indexu nula řetězce.

Příklad:

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

Výstup:

This is t

#4. Rozkrojení celého provázku.

String = string[ : ]

V tomto případě neidentifikujeme žádný z oddělovačů; proto je vrácen celý řetězec.

Příklad

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

Výstup:

This is to demonstrate slicing of the entire string

#5. Vyříznutí jednoho znaku z řetězce.

String = string[index]

Zde je vyříznuta přesná hodnota indexu znaku řetězce.

Příklad:

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

„T“ v „to“ se vytiskne, protože jeho indexová hodnota je 8.

  Jak připojit AirPods k iPhone

#6. Dělení pomocí počátečního-indexu, end-indexu a kroku.

Příklad

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

Když je hodnota kroku nastavena na 1, dojde k normálnímu krájení a na výstupu je následující.

demonstrate s

Pomocí stejného příkladu nastavíme hodnotu kroku na 2.

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

Krájení postav se bude provádět v krocích po 2, jako je tento.

dmntaes

Slicing extrahuje druhý znak po aktuálním. Proto řezy Pythonu demonstrují s‘ Dmntaes.

#7. Obrácení řetězce pomocí záporného kroku.

V tomto příkladu se zobrazí celý řetězec od posledního znaku řetězce po první.

string = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

Výstup:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

Negativní krok funguje takto:

R
E
PROTI
E
R
S
E
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

Počáteční hodnota indexu výše uvedeného obráceného řetězce začíná ve výchozím nastavení od 0 a končí na 6. Záporný krok obrátí hodnotu indexu posledního znaku a použije ji na první znak a tuto hodnotu neguje.

Další příklady na krájení

Získání prvních čtyř znaků podřetězce v řetězci.

string = 'characters'

print(string[0:4])

Bude výstup:

char

Zjištění přítomnosti podřetězce v řetězci

Python používá buď funkci find() nebo operátor ‚in‘ ke kontrole existence podřetězce v řetězci.

Použití příkladu operátoru ‚in‘

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

Výstup:

Could not find the substring defined

Výše uvedený příklad kontroluje, zda je v deklarovaném řetězci přítomen podřetězec ‚find‘. Vzhledem k tomu, že podřetězec není v řetězci nalezen, je výstup zobrazen výše.

  Opravte nefunkční pozvánky do her pro Xbox One

Nahrazení podřetězce ‚find‘ podřetězcem ‚že‘ a kontrola, zda v řetězci existuje nebo ne, by místo toho vrátilo ‚podřetězec byl nalezen‘, protože je v řetězci přítomen.

Příklad použití funkce find():

string = 'using string to find if a substring is present in a string'

if string.find('found') != -1:

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

výstup:

<code class="language-python">The substring 'found' does not exist

Ve výše uvedeném příkladu jsme se pokusili najít podřetězec, který není součástí našeho řetězce. Jak jsme viděli výše, funkce find() zkontroluje celý řetězec a nenajde tento konkrétní podřetězec „nalezen“, vrátí výstup „Nalezený podřetězec neexistuje“ jako výstup.

Zjištění počtu výskytů podřetězce

Python používá funkci count(), která implementuje tuto podmínku, jako v příkladu níže.

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

Výstup:

The 'o' substring count is:  5

Závěr

Tento článek by vám měl lépe porozumět tomu, co je podřetězec v Pythonu, jak jej vytvořit, a jasně vysvětlil myšlenku krájení a jak jej implementovat. Pomocí výše uvedených příkladů jako vodítek procvičte více příkladů, abyste koncept lépe pochopili.

Můžete se také naučit, jak vytvořit hru na hádání čísel pomocí Pythonu nebo jak získat data JSON v Pythonu.

Šťastné kódování!