logo

Patikrinkite, ar eilutėje yra poeilutė Python

Šiame straipsnyje bus aptarta, kaip patikrinti, ar a Python eilutėje yra kita eilutė arba poeilutė Python. Pateiktos dvi eilutės, patikrinkite, ar nurodytoje eilutėje yra poeilutė.

  Input:   Substring = 'geeks'   String='geeks for geeks'   Output:   yes   Input:   Substring = 'geek'  String='geeks for geeks'   Output:   yes   Explanation:   In this, we are checking if the substring is present in a given string or not.>

Python poeilutė eilutėje

Poeilutės tikrinimas yra viena iš dažniausiai naudojamų Python užduočių. Python naudoja daug metodų, kad patikrintų eilutę, kurioje yra poeilutė, pvz., find(), index(), count() ir tt Veiksmingiausias ir greičiausias metodas yra naudoti in operatorius, kuris naudojamas kaip palyginimo operatorius. Čia apžvelgsime skirtingus metodus:



  • „If-Else“ naudojimas
  • Naudojimas Operatoriuje
  • Tikrinama naudojant split() metodas
  • Naudojant Find() metodas
  • Naudojant count() metodas
  • Naudojant index() metodas
  • Sąrašo supratimo naudojimas
  • Naudojant lambda funkciją
  • Naudojant __contains__ magijos klasę.
  • Pjaustymo funkcijos naudojimas
  • Naudojant reguliarios išraiškos
  • naudojant operatorių include() metodą

Patikrinti Python poeilutė eilutėje naudojant If-Else

„Python“ galite patikrinti, ar eilutėje yra „python“ poeilutė, naudodami a jei-kitaip pareiškimas. Jei-else teiginys leidžia sąlygiškai vykdyti skirtingus kodo blokus, atsižvelgiant į tai, ar sąlyga teisinga, ar klaidinga.

Python3








# Take input from users> MyString1>=> 'A geek in need is a geek indeed'> > if> 'need'> in> MyString1:> >print>(>'Yes! it is present in the string'>)> else>:> >print>(>'No! it is not present'>)>

>

>

Išvestis

Yes! it is present in the string>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

„Python“ poeilutės tikrinimas eilutėje naudojant Operatoriuje

„Python“ galite lengvai patikrinti, ar tam tikroje eilutėje yra poeilutė, naudodamiin>operatorius. Thein>operatorius naudojamas patikrinti, ar sekoje yra tam tikra reikšmė (poeilutė).

Python3




text>=> 'Geeks welcome to the Geek Kingdom!'> > if> 'Geek'> in> text:> >print>(>'Substring found!'>)> else>:> >print>(>'Substring not found!'>)> > if> 'For'> in> text:> >print>(>'Substring found!'>)> else>:> >print>(>'Substring not found!'>)>

>

>

Išvestis

Substring found! Substring not found!>

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

Python poeilutės tikrinimas eilutėje naudojant Split() metodą

Tikrinamas python poeilutė eilutėje yra arba nenaudojama padalinti (). Pirmiausia padalykite nurodytą eilutę į žodžius ir išsaugokite juos kintamajame s, tada naudodami sąlygą if patikrinkite, ar nurodytoje eilutėje yra poeilutė, ar ne.

Python3




# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->priimant vartotojo įvestį>> => 'geeks'> # or substring=input()> > # splitting words in a given string> s>=> string.split()> > # checking condition> # if substring is present in the given string then it gives output as yes> if> substring>in> s:> >print>(>'yes'>)> else>:> >print>(>'no'>)>

>

>

Išvestis

Yes>

Laiko sudėtingumas: O(n + m)
Pagalbinė erdvė: O(n)

Patikrinkite Python poeutę eilutėje naudodami Find() metodą

Galime pakartotinai patikrinti kiekvieną žodį, tačiau Python suteikia mums integruotą funkciją rasti () kuri patikrina, ar eilutėje yra poeilutė, kuri atliekama vienoje eilutėje. Funkcija find() grąžina -1, jei ji nerasta, kitu atveju ji grąžina pirmąjį atvejį, todėl naudojant šią funkciją šią problemą galima išspręsti.

Python3




def> check(string, sub_str):> >if> (string.find(sub_str)>=>=> ->1>):> >print>(>'NO'>)> >else>:> >print>(>'YES'>)> > > # driver code> string>=> 'geeks for geeks'> sub_str>=> 'geek'> check(string, sub_str)>

>

>

Išvestis

Yes>

Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)

Patikrinkite Python eilutę eilutėje naudodami Count() metodą

Taip pat galite suskaičiuoti konkrečios poeilutės pasikartojimų skaičių eilutėje, tada galite naudoti Python skaiciuoti () metodas. Jei poeilutė nerasta, bus išspausdinta taip, kitaip bus išspausdinta ne.

Python3




tipo konvertavimas ir liejimas Java

def> check(s2, s1):> >if> (s2.count(s1)>>>):> >print>(>'YES'>)> >else>:> >print>(>'NO'>)> > > s2>=> 'A geek in need is a geek indeed'> s1>=> 'geeks'> check(s2, s1)>

>

>

Išvestis

No>

Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)

Patikrinkite Python poeutę eilutėje naudodami Index() metodą

The Index() metodas grąžina pradinį poeilutės, perduotos kaip parametras, indeksą. Čia poeilutė yra 16 indekse.

Python3




any_string>=> 'Geeks for Geeks substring '> start>=> 0> end>=> 1000> print>(any_string.index(>'substring'>, start, end))>

>

>

Išvestis

16>

Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)

Patikrinkite Python poeilelę eilutėje u dainuoti Sąrašo supratimas

Norėdami patikrinti Python poeutę eilutėje naudodami sąrašo supratimas . Sąrašo supratimo naudojimas suteikia glaustą būdą patikrinti, ar eilutėje yra poeilutė, ir nustatyti, ar ji egzistuoja kuriame nors iš žodžių.

Python3




dirbtinis intelektas ir intelektualūs agentai

s>=>'geeks for geeks'> s2>=>'geeks'> print>([>'yes'> if> s2>in> s>else> 'no'>])>

>

>

Išvestis

['Yes']>

Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)

Patikrinkite Python eilutę eilutėje naudojant lambda funkciją

Norėdami patikrinti Python poeutę eilutėje naudodami lambda funkcija . Naudojant lambda funkciją, pateikiamas glaustas būdas patikrinti, ar eilutėje yra poeilutė, ir nustatyti, ar ji egzistuoja kuriame nors iš žodžių.

Python3




s>=>'geeks for geeks'> s2>=>'geeks'> x>=>list>(>filter>(>lambda> x: (s2>in> s),s.split()))> print>([>'yes'> if> x>else> 'no'>])>

>

>

Išvestis

['Yes']>

Laiko sudėtingumas: O(n + m)
Pagalbinė erdvė: O(m)

Patikrinkite Python eilutę eilutėje naudodami magijos klasę __contains__.

Norėdami patikrinti python eilutę eilutėje, naudojame __contains__(). Šis metodas naudojamas norint patikrinti, ar eilutė yra kitoje eilutėje, ar ne.

Python3




a>=> [>'Geeks-13'>,>'for-56'>,>'Geeks-78'>,>'xyz-46'>]> for> i>in> a:> >if> i.__contains__(>'Geeks'>):> >print>(f>'Yes! {i} is containing.'>)>

>

>

Išvestis

Yes! Geeks-13 is containing. Yes! Geeks-78 is containing.>

Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)

Patikrinkite Python eilutę eilutėje naudojant pjaustymą

Patikrinkite python poeilelę eilutėje naudodami pjaustymą. Šis įgyvendinimas naudoja kilpą, kad kartotų kiekvieną įmanomą eilutės poeilės pradinį indeksą, o tada pjaustymas norėdami palyginti dabartinę eilutę su poeilutės argumentu. Jei dabartinė poeilutė atitinka poeilutės argumentą, funkcija grąžina True, priešingu atveju grąžina False.

Python3




def> is_substring(string, substring):> >for> i>in> range>(>len>(string)>-> len>(substring)>+> 1>):> >if> string[i:i>+>len>(substring)]>=>=> substring:> >return> True> >return> False> string>=> 'A geeks in need is a geek indeed'> substring>=> 'geeks'> print>(is_substring(string,substring))>

>

>

Išvestis

True>

Laiko sudėtingumas: O(n*m)
kur n yra eilutės argumento ilgis, o m yra eilutės argumento ilgis. Taip yra todėl, kad funkcija naudoja kilpą, kad kartotų kiekvieną įmanomą eilutės poeilutės pradinį indeksą, o tada naudoja pjaustymą, kad palygintų dabartinę poeilelę su poeilutės argumentu. Blogiausiu atveju kilpa kartosis n-m+1 kartų, o kiekviena pjūvio operacija trunka O(m) laiko, todėl bendras laiko sudėtingumas yra O((n-m+1)m) = O(nm) .
Pagalbinė erdvė: O(1)

Patikrinkite Python eilutę eilutėje naudodami reguliarųjį reiškinį

„Python“ galite patikrinti, ar eilutėje yra „python“ poeilutė, naudodami reguliarios išraiškos . Reguliarios išraiškos suteikia galingas šablonų atitikimo galimybes, leidžiančias apibrėžti sudėtingus poeilutės atitikimo paieškos šablonus. Štai kaip galite naudoti įprastus posakius, kad patikrintumėte, ar eilutėje yra poeilutė.

Python3




import> re> > MyString1>=> 'A geek in need is a geek indeed'> > if> re.search(>'need'>, MyString1):> >print>(>'Yes! it is present in the string'>)> else>:> >print>(>'No! it is not present'>)>

>

>

Išvestis

Yes! it is present in the string>

Laiko sudėtingumas: O(n), kur n yra įvesties eilutės ilgis.
Erdvės sudėtingumas: O(1), nes nenaudojame jokios papildomos vietos

Patikrinkite Python eilutę eilutėje naudojant operator.contains() metodą

Taikomas šis metodasoperator.contains()būdas patikrinti, ar eilutėje yra poeilutė Jei sąlyga yra True spausdinti taip, kitaip spausdinti ne

Python3




#Python program to check if a substring is present in a given string> import> operator as op> s>=>'geeks for geeks'> s2>=>'geeks'> if>(op.contains(s,s2)):> >print>(>'yes'>)> else>:> >print>(>'no'>)>

>

>

Išvestis

Yes>

Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)