Înțelegerea subșirurilor în Python cu exemple

Acest articol își propune să aducă cursantul la o mai bună înțelegere a subșirurilor în Python.

Vă va învăța cum să creați un subșir, să extrageți diferite părți ale acestuia dintr-un șir și cum funcționează subșirurile în Python, folosind mai multe exemple pentru a implementa acest lucru. Vom verifica în continuare existența subșirului într-un șir.

Înainte de a începe, este esențial să știm ce sunt un șir și un subșir. Un șir este o secvență de caractere Unicode constând din caractere alfanumerice și/sau caractere speciale. Putem defini un subșir ca o porțiune a secvenței de caractere dintr-un șir.

Vom discuta despre următoarele:

  • Crearea unui subșir.
  • Modalități de a tăia un subșir.
  • Numărul de apariții ale unui subșir
  • Găsirea prezenței unui subșir într-un șir.

Sa incepem!

Crearea unui subșir

Un subșir este creat în principal folosind tehnica tăierii. Această tehnică permite extragerea subșirului prin definirea delimitatorilor start-index, end-index și pas. Acești delimitatori permit extragerea prin specificarea indexului precis al caracterelor pe care doriți să le obțineți.

Sintaxa arată astfel:

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

Rețineți că valoarea indexului din orice șir începe de la zero.

Parametrul begin-index indică indexul de pornire al subșirului. Prin urmare, dacă omiteți acest element la feliere, Python presupune automat că valoarea indexului său este zero.

End-index este ultimul index al subșirului. Când nu o menționezi, felierea presupune că valoarea sa este egală cu lungimea șirului.

Pas: Indică următorul caracter de luat în considerare după caracterul curent. Valoarea acestui parametru este de obicei una. Când parametrul pas este omis în timpul tăierii, valoarea acestuia este încă considerată a fi unul.

  Cum să remediați descărcarea atașamentului este dezactivată în Gmail

Modalități de a tăia o sfoară

Există mai multe moduri prin care putem obține un subșir dintr-un șir. Acestea includ:

#1. Tăiere folosind start-index și end-index.

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

Într-o situație în care doriți să obțineți prenumele unei persoane din numele complet, îl veți implementa astfel:

string = 'Michael Doe'

print(string[0:7])

Ieșirea va fi:

Michael

#2. Tăiere folosind start-index fără end-index.

String= string[begin-index:]

Aici, indicăm doar de la ce index dorim să începem extragerea caracterelor noastre subșir din șir – tăind extrase până la ultimul index al întregului șir care are de obicei un indice de -1.

Exemplu:

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

print(string[7:])

Ieșire:

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

#3. Tăiere folosind end-index fără start-index.

String = string[:end-index]

Aici, indicăm ultimul caracter pe care ar trebui să îl includă subșirul, lăsând deoparte de unde ar trebui să înceapă. Prin urmare, tăierea va afișa subșirul care începe cu caracterul index zero al șirului.

Exemplu:

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

print(string[:9])

Ieșire:

This is t

#4. Tăierea întregului șir.

String = string[ : ]

În acest caz, nu identificăm niciunul dintre delimitatori; prin urmare, întregul șir este returnat.

Exemplu

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

print(string[:])

Ieșire:

This is to demonstrate slicing of the entire string

#5. Tăierea unui singur caracter dintr-un șir.

String = string[index]

O valoare index precisă a unui caracter al șirului este tăiată aici.

Exemplu:

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

print(string[8])

„t” din „to” este tipărit, deoarece valoarea sa index este 8.

  Ce este IMAP și cum funcționează?

#6. Tăiere folosind start-index, end-index și pas.

Exemplu

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

print(string[11:24:1])

Când valoarea pasului este setată la 1, are loc o tăiere normală și aici este afișat următoarele.

demonstrate s

Folosind același exemplu, să setăm valoarea pasului la 2.

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

print(string[11:24:2])

Tăierea personajelor se va face în pași de 2 astfel.

dmntaes

Tăierea extrage al doilea caracter după cel curent. Prin urmare, feliile Python’ demonstrează s’ la Dmntaes.

#7. Inversarea unui șir folosind un pas negativ.

În acest exemplu, întregul șir va fi afișat de la ultimul caracter al șirului până la primul.

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

print(string[::-1])

Ieșire:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

Pasul negativ funcționează astfel:

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

Valoarea indexului de început a șirului invers de mai sus începe de la 0 în mod implicit și se termină cu 6. Pasul negativ inversează valoarea indexului ultimului caracter și o aplică primului caracter și anulează această valoare.

Mai multe exemple despre feliere

Obținerea primelor patru caractere subșir dintr-un șir.

string = 'characters'

print(string[0:4])

Va scoate:

char

Găsirea prezenței unui subșir într-un șir

Python folosește fie funcția find(), fie operatorul „in” pentru a verifica existența unui subșir într-un șir.

Folosind exemplul de operator „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')

Ieșire:

Could not find the substring defined

Exemplul de mai sus verifică dacă subșirul „find” este prezent în șirul declarat. Deoarece subșirul nu se găsește în șir, rezultatul este așa cum este afișat mai sus.

  Cum să overclockați CPU pentru a depăși limitele procesorului sistemului dvs

Înlocuirea subșirului „find” cu subșirul „that” și verificarea dacă acesta există sau nu în șir ar returna „subșirul este găsit”, deoarece este prezent în șir.

Folosind exemplul funcției 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")

ieșire:

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

În exemplul de mai sus, am încercat să găsim un subșir care nu face parte din șirul nostru. După cum am văzut mai sus, funcția find() verifică întregul șir și nu este găsit acest subșir special „găsit”, ea returnează ieșirea „Subșirul găsit nu există” ca rezultat.

Găsirea numărului de apariții ale unui subșir

Python folosește funcția count() care implementează această condiție, ca în exemplul de mai jos.

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

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

Ieșire:

The 'o' substring count is:  5

Concluzie

Acest articol ar trebui să vă ofere o mai bună înțelegere a ce este un subșir în Python, cum să-l creați și a explicat clar ideea de tăiere și cum să-l implementați. Folosind exemplele furnizate mai sus ca ghid, exersați mai multe exemple pentru a înțelege mai bine conceptul.

De asemenea, puteți învăța cum să creați un joc de ghicire a numerelor folosind Python sau cum să obțineți date JSON în Python.

Codare fericită!