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: atslēgvārds un metodi. Pirmais skripts definē funkciju, , tam ir nepieciešami divi argumenti: main_string un . Tas atgriežas ja pastāv iekšienē main_string un citādi. Tas tiek panākts, izmantojot 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 cilpa, un, ja substring nav atrasta pašreizējā virknē, tā izmanto paziņojumu, lai pārietu uz nākamo iterāciju.

Otrais skripts izmanto līdzīgu pieeju, bet izmanto metodi. Funkcija pārbauda, ​​vai ir klāt main_string atgriežoties ja metode neatgriežas . The find metode meklē un atgriež zemāko indeksu, kur tas ir atrasts, vai ja tas nav atrasts. Šī metode nodrošina lielāku kontroli, ja jums ir nepieciešama pozīcija , 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 atslēgvārds un 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 , kas atgriež virknes apakšvirknes gadījumu skaitu, kas nepārklājas. Lai gan tas nav tiešs aizstājējs contains vai , to var izmantot, lai noteiktu, vai apakšvirkne pastāv, pārbaudot, vai skaits ir lielāks par nulli. Vēl viena metode ir , 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, 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ī modulis uzlabotai apakšvirkņu meklēšanai, izmantojot regulārās izteiksmes. The 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 atslēgvārds vai metode, lai pārbaudītu, vai virknē ir apakšvirkne.
  3. Kāda ir atšķirība starp un metodes?
  4. The metode atgriež -1, ja apakšvirkne netiek atrasta, savukārt metode rada ValueError.
  5. Vai Python apakšvirkņu pārbaudēm varu izmantot regulāras izteiksmes?
  6. Jā, jūs varat izmantot funkcija no 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 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 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ā, 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 paziņojums ar vai pārbaudiet, vai 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ā un 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 vai metodi, tāpat kā dažas citas valodas. Tomēr tas nodrošina dažādus veidus, kā pārbaudīt apakšvirknes, piemēram, 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.