Alimerkkijonojen tarkistaminen Pythonissa: vaihtoehdot 'contains' ja 'indexOf'

Alimerkkijonojen tarkistaminen Pythonissa: vaihtoehdot 'contains' ja 'indexOf'
Python

Pythonin merkkijonomenetelmien ymmärtäminen

Python-ohjelmoijien on usein tarkistettava, onko merkkijonossa alimerkkijono. Vaikka monet kielet tarjoavat menetelmiä, kuten "contains" tai "indexOf", Pythonilla on oma tapansa käsitellä tätä yleistä vaatimusta. Tässä artikkelissa tutkimme, kuinka voit suorittaa osamerkkijonotarkistuksia Pythonissa tehokkaasti.

Olitpa uusi Pythonissa tai siirtymässä toisesta ohjelmointikielestä, näiden menetelmien ymmärtäminen on ratkaisevan tärkeää. Annamme esimerkkejä ja selitämme parhaat käytännöt alimerkkijonojen tarkistamiseen, jotta voit kirjoittaa puhtaan ja tehokkaan Python-koodin.

Komento Kuvaus
in Tarkistaa, onko päämerkkijonossa alimerkkijono, joka palauttaa True tai False.
find Palauttaa alimman indeksin merkkijonosta, josta osamerkkijono löytyy; palauttaa -1, jos ei löydy.
def Määrittää koodin toimintolohkon, joka toimii vain, kun sitä kutsutaan.
for Käytetään sekvenssin (kuten luettelon, tuplen, sanakirjan, joukon tai merkkijonon) yli kiertämiseen.
if not Ehdollinen lauseke, joka suorittaa koodin, jos ehto on False.
continue Ohittaa muun osan silmukan sisällä olevasta koodista vain nykyistä iteraatiota varten ja jatkaa sitten seuraavalla iteraatiolla.

Pythonin osamerkkijonojen tarkistusten ymmärtäminen

Toimitetut komentosarjat osoittavat, kuinka Pythonissa voidaan tarkistaa osamerkkijonot kahdella eri menetelmällä: in avainsana ja find menetelmä. Ensimmäinen komentosarja määrittelee funktion, contains_substring, se vaatii kaksi argumenttia: main_string ja substring. Se palaa True jos substring on olemassa sisällä main_string ja False muuten. Tämä saavutetaan käyttämällä in avainsana, joka on yksinkertainen ja tehokas tapa suorittaa osamerkkijonotarkistuksia Pythonissa. Skripti toistuu sitten merkkijonoluettelossa käyttämällä a for silmukka, ja jos substring ei löydy nykyisestä merkkijonosta, se käyttää continue lauseke siirtyäksesi seuraavaan iteraatioon.

Toinen komentosarja käyttää samanlaista lähestymistapaa, mutta hyödyntää find menetelmän sijaan. Toiminto contains_substring_with_find tarkistaa, onko substring on läsnä main_string palaamalla True jos find menetelmä ei palaa -1. The find menetelmä etsii substring ja palauttaa alimman indeksin, josta se löytyy, tai -1 jos sitä ei löydy. Tämä menetelmä tarjoaa paremman hallinnan, jos tarvitset paikantimen substring, mutta yksinkertaista tarkistusta varten in avainsana on selkeämpi. Molemmat skriptit havainnollistavat kuinka tehokkaasti tarkistaa osamerkkijonot ja käsitellä tapauksia, joissa osamerkkijonoa ei löydy, mikä mahdollistaa puhtaan ja luettavan Python-koodin.

Kuinka tarkistaa alimerkkijonot Pythonissa

Python-skriptiesimerkki "in"-avainsanan käyttämisestä

def contains_substring(main_string, substring):
    return substring in main_string

strings_to_check = ["hello world", "Python programming", "substring search"]
substring = "Python"

for string in strings_to_check:
    if not contains_substring(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Alimerkkijonojen etsiminen Pythonin "etsi"-menetelmällä

Python-skriptiesimerkki 'etsi'-menetelmällä

def contains_substring_with_find(main_string, substring):
    return main_string.find(substring) != -1

strings_to_check = ["example string", "testing find method", "no match here"]
substring = "find"

for string in strings_to_check:
    if not contains_substring_with_find(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Vaihtoehtoisten merkkijonomenetelmien tutkiminen Pythonissa

Lisäksi in avainsana ja find Python tarjoaa muita merkkijonomenetelmiä, jotka voivat olla hyödyllisiä alimerkkijonojen tarkistamisessa. Yksi tällainen menetelmä on count, joka palauttaa alimerkkijonon ei-päällekkäisten esiintymien lukumäärän merkkijonossa. Vaikka se ei ole suora korvike contains tai indexOf, sitä voidaan käyttää määrittämään, onko osamerkkijono olemassa tarkistamalla, onko määrä suurempi kuin nolla. Toinen menetelmä on startswith, joka tarkistaa, alkaako merkkijono määritetyllä osamerkkijonolla. Tämä menetelmä on erityisen hyödyllinen silloin, kun sinun on tarkistettava merkkijonojen etuliitteet, kuten tarkistettaessa, alkaako URL-osoite http:llä.

Samoin, endswith menetelmä tarkistaa, päättyykö merkkijono tiettyyn osamerkkijonoon. Tästä on apua tiedostopäätteiden tai muiden jälkiliitteiden tarkistamisessa. Python tarjoaa myös re moduuli edistyneempiin osamerkkijonohakuihin säännöllisten lausekkeiden avulla. The re.search toiminto mahdollistaa kuvioiden sovituksen merkkijonojen sisällä, mikä tarjoaa tehokkaan tavan löytää monimutkaisia ​​osamerkkijonoja. Vaikka säännölliset lausekkeet voivat olla monimutkaisempia kirjoittaa ja ymmärtää, ne tarjoavat joustavuutta ja tehoa monimutkaisiin osamerkkijonohakuihin. Nämä vaihtoehtoiset menetelmät tarjoavat Python-ohjelmoijille erilaisia ​​työkaluja osamerkkijonojen tarkistusten käsittelemiseen, erilaisten tarpeiden ja käyttötapausten huomioon ottamiseksi.

Yleisiä kysymyksiä Pythonin osamerkkijonomenetelmistä

  1. Kuinka voin tarkistaa, sisältääkö merkkijono alimerkkijonon Pythonissa?
  2. Voit käyttää in avainsana tai find menetelmä tarkistaaksesi, sisältääkö merkkijono alimerkkijonon.
  3. Mitä eroa on find ja index menetelmiä?
  4. The find Metodi palauttaa -1, jos osamerkkijonoa ei löydy, kun taas index menetelmä aiheuttaa ValueErrorin.
  5. Voinko käyttää säännöllisiä lausekkeita Pythonin osamerkkijonojen tarkistukseen?
  6. Kyllä, voit käyttää re.search toiminto alkaen re moduuli edistyneille osamerkkijonohauille.
  7. Kuinka tarkistan, alkaako merkkijono tietyllä osamerkkijonolla?
  8. Voit käyttää startswith menetelmä tarkistaaksesi, alkaako merkkijono tietyllä osamerkkijonolla.
  9. Millä menetelmällä voin tarkistaa, päättyykö merkkijono tiettyyn osamerkkijonoon?
  10. The endswith menetelmää voidaan käyttää tarkistamaan, päättyykö merkkijono tiettyyn osamerkkijonoon.
  11. Onko olemassa menetelmää alimerkkijonon esiintymien laskemiseksi merkkijonossa?
  12. Kyllä count -menetelmä palauttaa merkkijonon alimerkkijonon ei-päällekkäisten esiintymien lukumäärän.
  13. Miten voin käsitellä tapauksia, joissa alimerkkijonoa ei löydy?
  14. Voit käyttää an if lausunto kanssa not tai tarkista jos find palauttaa -1 käsittelemään tapauksia, joissa osamerkkijonoa ei löydy.
  15. Onko näiden menetelmien suorituskyvyssä eroja?
  16. Kyllä, menetelmät kuten in ja startswith ovat yleensä nopeampia yksinkertaisissa tarkistuksissa, kun taas säännölliset lausekkeet voivat olla hitaampia mutta tehokkaampia.

Viimeiset ajatukset Pythonin osamerkkijonomenetelmistä

Pythonissa ei ole a contains tai indexOf menetelmällä kuten jotkut muut kielet. Se tarjoaa kuitenkin useita tapoja tarkistaa osamerkkijonot, kuten in avainsana, find menetelmä ja säännölliset lausekkeet. Jokaisella menetelmällä on omat etunsa, joten on tärkeää valita oikea omien tarpeidesi perusteella. Hallitsemalla näitä tekniikoita voit tehokkaasti käsitellä osamerkkijonotarkistuksia ja kirjoittaa puhdasta, tehokasta Python-koodia.