Apakšvirkņu pārbaude programmā Python: alternatīvas “contains” un “indexOf”

Apakšvirkņu pārbaude programmā Python: alternatīvas “contains” un “indexOf”
Python

Izpratne par stīgu metodēm Python

Python programmētājiem bieži ir jāpārbauda, ​​vai virknē ir apakšvirkne. Lai gan daudzas valodas piedāvā tādas metodes kā "contains" vai "indexOf", Python ir savs veids, kā rīkoties ar šo izplatīto prasību. Šajā rakstā mēs izpētīsim, kā jūs varat efektīvi veikt apakšvirkņu pārbaudes programmā Python.

Neatkarīgi no tā, vai esat iesācējs Python vai pārejat no citas programmēšanas valodas, šo metožu izpratne ir ļoti svarīga. Mēs sniegsim piemērus un izskaidrosim apakšvirkņu pārbaudes paraugpraksi, nodrošinot, ka varat rakstīt tīru un efektīvu Python kodu.

Komanda Apraksts
in Pārbauda, ​​vai galvenajā virknē ir apakšvirkne, kas atgriež True vai False.
find Atgriež zemāko indeksu virknē, kurā ir atrasta apakšvirkne; atgriež -1, ja nav atrasts.
def Definē koda funkciju bloku, kas darbojas tikai tad, kad tas tiek izsaukts.
for Izmanto cilpai pa secību (piemēram, sarakstu, virkni, vārdnīcu, kopu vai virkni).
if not Nosacījuma paziņojums, kas izpilda kodu, ja nosacījums ir False.
continue Izlaiž pārējo cilpas kodu tikai pašreizējai iterācijai, pēc tam turpina ar nākamo iterāciju.

Izpratne par apakšvirknes pārbaudēm Python

Piedāvātie skripti parāda, kā Python pārbaudīt apakšvirknes, izmantojot divas dažādas metodes: in atslēgvārds un find metodi. Pirmais skripts definē funkciju, contains_substring, tam ir nepieciešami divi argumenti: main_string un substring. Tas atgriežas True ja substring pastāv iekšienē main_string un False citādi. Tas tiek panākts, izmantojot in atslēgvārds, kas ir vienkāršs un efektīvs veids, kā Python veikt apakšvirknes pārbaudes. Pēc tam skripts atkārto virkņu sarakstu, izmantojot a for cilpa, un, ja substring nav atrasta pašreizējā virknē, tā izmanto continue paziņojumu, lai pārietu uz nākamo iterāciju.

Otrais skripts izmanto līdzīgu pieeju, bet izmanto find metodi. Funkcija contains_substring_with_find pārbauda, ​​vai substring ir klāt main_string atgriežoties True ja find metode neatgriežas -1. The find metode meklē substring un atgriež zemāko indeksu, kur tas ir atrasts, vai -1 ja tas nav atrasts. Šī metode nodrošina lielāku kontroli, ja jums ir nepieciešama pozīcija substring, bet vienkāršai pārbaudei in atslēgvārds ir vienkāršāks. Abi skripti ilustrē, kā efektīvi pārbaudīt apakšvirknes un rīkoties gadījumos, kad apakšvirkne netiek atrasta, tādējādi nodrošinot tīru un lasāmu Python kodu.

Kā Python pārbaudīt apakšvirknes

Python skripta piemērs, izmantojot "in" atslēgvārdu

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}'")

Apakšvirkņu atrašana, izmantojot Python “atrašanas” metodi

Python skripta piemērs, izmantojot 'atrašanas' metodi

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}'")

Alternatīvu virkņu metožu izpēte programmā Python

Papildus tam in atslēgvārds un find metodi, Python piedāvā citas virkņu metodes, kas var būt noderīgas apakšvirkņu pārbaudei. Viena no šādām metodēm ir count, kas atgriež virknes apakšvirknes gadījumu skaitu, kas nepārklājas. Lai gan tas nav tiešs aizstājējs contains vai indexOf, to var izmantot, lai noteiktu, vai apakšvirkne pastāv, pārbaudot, vai skaits ir lielāks par nulli. Vēl viena metode ir startswith, kas pārbauda, ​​vai virkne sākas ar noteiktu apakšvirkni. Šī metode ir īpaši noderīga, ja nepieciešams pārbaudīt prefiksus virknēs, piemēram, pārbaudot, vai URL sākas ar “http”.

Līdzīgi, endswith metode pārbauda, ​​vai virkne beidzas ar noteiktu apakšvirkni. Tas ir noderīgi, lai pārbaudītu failu paplašinājumus vai citus sufiksus. Python nodrošina arī re modulis uzlabotai apakšvirkņu meklēšanai, izmantojot regulārās izteiksmes. The re.search funkcija ļauj veikt raksta saskaņošanu virknēs, nodrošinot jaudīgu veidu, kā atrast sarežģītas apakšvirknes. Lai gan regulāro izteiksmju rakstīšana un izpratne var būt sarežģītāka, tās piedāvā elastību un jaudu sarežģītiem apakšvirkņu meklējumiem. Šīs alternatīvās metodes nodrošina Python programmētājiem dažādus rīkus apakšvirkņu pārbaužu veikšanai, apmierinot dažādas vajadzības un lietošanas gadījumus.

Bieži uzdotie jautājumi par apakšvirkņu metodēm Python

  1. Kā es varu pārbaudīt, vai virknē Python ir apakšvirkne?
  2. Jūs varat izmantot in atslēgvārds vai find metode, lai pārbaudītu, vai virknē ir apakšvirkne.
  3. Kāda ir atšķirība starp find un index metodes?
  4. The find metode atgriež -1, ja apakšvirkne netiek atrasta, savukārt index metode rada ValueError.
  5. Vai Python apakšvirkņu pārbaudēm varu izmantot regulāras izteiksmes?
  6. Jā, jūs varat izmantot re.search funkcija no re modulis izvērstai apakšvirknes meklēšanai.
  7. Kā pārbaudīt, vai virkne sākas ar noteiktu apakšvirkni?
  8. Jūs varat izmantot startswith metode, lai pārbaudītu, vai virkne sākas ar noteiktu apakšvirkni.
  9. Kādu metodi var izmantot, lai pārbaudītu, vai virkne beidzas ar noteiktu apakšvirkni?
  10. The endswith metodi var izmantot, lai pārbaudītu, vai virkne beidzas ar noteiktu apakšvirkni.
  11. Vai ir kāda metode, kā saskaitīt apakšvirknes gadījumus virknē?
  12. Jā, count metode atgriež apakšvirknes gadījumu skaitu, kas nepārklājas virknē.
  13. Kā rīkoties gadījumos, kad apakšvirkne netiek atrasta?
  14. Jūs varat izmantot an if paziņojums ar not vai pārbaudiet, vai find atgriež -1, lai apstrādātu gadījumus, kad apakšvirkne nav atrasta.
  15. Vai starp šīm metodēm ir veiktspējas atšķirības?
  16. Jā, tādas metodes kā in un startswith parasti ir ātrākas vienkāršām pārbaudēm, savukārt regulārās izteiksmes var būt lēnākas, bet jaudīgākas.

Pēdējās domas par apakšvirkņu metodēm Python

Python nav a contains vai indexOf metodi, tāpat kā dažas citas valodas. Tomēr tas nodrošina dažādus veidus, kā pārbaudīt apakšvirknes, piemēram, in atslēgvārds, find metodi un regulāras izteiksmes. Katrai metodei ir savas priekšrocības, tāpēc ir svarīgi izvēlēties pareizo, pamatojoties uz jūsu īpašajām vajadzībām. Apgūstot šīs metodes, varat efektīvi veikt apakšvirkņu pārbaudes un rakstīt tīru, efektīvu Python kodu.