Kaj je Python String find ()?
Python String find () je funkcija, ki je na voljo v knjižnici Python za iskanje indeksa prvega pojavljanja podniza iz danega niza. Funkcija string find () bo vrnila -1, namesto da bi vrgla izjemo, če navedeni podniz ni prisoten v danem nizu.
V tej vadnici metode Find () Python boste izvedeli:
- Kaj je Python String find ()?
- Sintaksa Python string find ()
- Primer metode find () s privzetimi vrednostmi
- Primer find () z uporabo začetnega argumenta
- Primer find () z uporabo začetnega in končnega argumenta
- Primer metode find () Za iskanje položaja danega podniza v nizu
- Python niz rfind ()
- Indeks nizov Python ()
- Če želite poiskati skupno pojavnost podniza
Sintaksa Python string find ()
Osnovna sintaksa funkcije Python find () je naslednja:
string.find(substring,start,end)
Parametri metode find ()
Tu so trije parametri funkcije String find () v Pythonu:- podniz : podniz, ki ga želite iskati v danem nizu.
- start : (neobvezno) Začetna vrednost, od koder se bo začelo iskanje podniza. Privzeto je 0.
- end : (neobvezno) Končna vrednost, pri kateri se bo iskanje podniza končalo. Privzeto je vrednost dolžina niza.
Primer metode find () s privzetimi vrednostmi
Parametri, posredovani metodi Python find (), so podniz, tj. Niz, ki ga želite iskati, začeti in končati. Začetna vrednost je privzeto 0, končna vrednost pa dolžina niza.
V tem primeru bomo uporabili metodo find () v Pythonu s privzetimi vrednostmi.
Metoda find () bo iskala podniz in podala položaj prvega pojavljanja podniza. Če je podniz večkrat prisoten v danem nizu, vam bo še vedno vrnil indeks ali položaj prvega.
Primer:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))
Izhod:
The position of Tutorials is at: 12
Primer find () z uporabo začetnega argumenta
V danem nizu lahko poiščete podniz in določite začetni položaj, od koder se bo iskanje začelo. Za isti lahko uporabimo začetni parameter.
Primer bo določil začetni položaj kot 15, find () v metodi Python pa bo začel iskanje s položaja 15. Tu bo končni položaj dolžina niza in bo do konca niza iskal s 15 položajev. naprej.
Primer:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Izhod:
The position of Tutorials is at 48
Primer find () z uporabo začetnega in končnega argumenta
Z uporabo parametra začetek in konec bomo poskušali omejiti iskanje, namesto da bi iskali celoten niz.
Primer:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Izhod:
The position of Tutorials is at 12
Primer metode find () Za iskanje položaja danega podniza v nizu
Vemo, da nam find () pomaga najti indeks prvega pojavljanja podniza. Vrne -1, če pod niz ni v danem nizu. Spodnji primer prikazuje indeks, ko je niz prisoten, in -1, ko ne najdemo podniza, ki ga iščemo.
Primer:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Best site is at:", mystring.find("Best site", 5, 40))print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Izhod:
The position of Best site is at: 27The position of Guru99 is at: -1
Python niz rfind ()
Pythonova funkcija rfind () je podobna funkciji find () z edino razliko, da rfind () daje najvišji indeks za podniz, find () pa najnižji, tj. Prvi indeks. Oba rfind () in find () bosta vrnila -1, če podniz ni prisoten.
V spodnjem primeru imamo niz "Spoznajte spletno mesto z vajami Guru99. Najboljše spletno mesto za vadnice za Python!" in bo poskusil najti položaj Vadnic podnizov z uporabo find () in rfind (). Pojav vaj v nizu je dvakrat.
Tu je primer, ko se uporabljata find () in rfind ().
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
Izhod:
The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48
Izhodni podatki kažejo, da find () daje indeks prvega podvoda Tutorials, ki ga dobi, rfind () pa zadnji indeks Tutorials substringa.
Indeks nizov Python ()
Indeks nizov Python () je funkcija, ki vam bo dala položaj podniza, podobno kot find (). Edina razlika med obema je, da bo index () vrgel izjemo, če podniz ni v nizu in bo find () vrnil -1.
Tukaj je delovni primer, ki prikazuje obnašanje indeksa () in find ().
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
Izhod:
The position of Tutorials using find() : 12The position of Tutorials using index() : 12
Dobimo enak položaj tako za find () kot za index (). Oglejmo si primer, ko podani podniz ni v nizu.
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("test"))print("The position of Tutorials using index() : ", mystring.index("test"))
Izhod:
The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, inprint("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found
V zgornjem primeru poskušamo najti položaj podniza "test". Podniz ni v danem nizu in zato z uporabo find () dobimo položaj kot -1, za index () pa vrže napako, kot je prikazano zgoraj.
Če želite poiskati skupno pojavnost podniza
Za iskanje skupnega števila pojavitev podniza v danem nizu bomo uporabili funkcijo find () v Pythonu. Bo skozi zanko zanko uporabil for-loop od 0 do konca niza. Uporabil bo parameter startIndex za find ().
Spremenljivki startIndex in count se bosta inicializirali na 0. Znotraj za -loop bo preverilo, ali je podniz v nizu, podanem z uporabo find () in startIndex kot 0.
Vrednost, vrnjena iz find (), če ne -1, bo posodobila startIndex na indeks, kjer je najden niz, in tudi povečala vrednost štetja.
Tu je delovni primer:
my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )
Izhod:
The total count of substring test is: 6
Povzetek
- Metoda niza Python find () pomaga najti indeks prvega pojavljanja podniza v danem nizu. Vrne -1, če podniz ni prisoten.
- Parametri, posredovani metodi Python find substring, so substring, tj. Niz, ki ga želite iskati, začeti in končati. Začetna vrednost je privzeto 0, končna vrednost pa dolžina niza.
- V danem nizu lahko poiščete podniz in določite začetni položaj, od koder se bo iskanje začelo. Za isti lahko uporabimo začetni parameter.
- Z uporabo parametra začetek in konec bomo poskušali omejiti iskanje, namesto da bi iskali celoten niz.
- Pythonova funkcija rfind () je podobna funkciji find () z edino razliko, da rfind () daje najvišji indeks za podniz, find () pa najnižji, tj. Prvi indeks. Oba rfind () in find () bosta vrnila -1, če podniz ni prisoten.
- Indeks nizov Python () je še ena funkcija, ki vam bo dala položaj podniza, podobno kot find (). Edina razlika med obema je, da bo index () vrgel izjemo, če podniz ni v nizu in bo find () vrnil -1.
- Find () lahko uporabimo za iskanje števila celotnega pojavljanja podniza v danem nizu.