logo

Merkkijonojen vertailu Pythonissa

Merkkijonojen vertailu on perustoiminto missä tahansa ohjelmointikielessä, myös Pythonissa. Sen avulla voimme todeta merkkijonojen suhteellisen sijainnin, järjestyksen ja tasa-arvon. Python sisältää useita operaattoreita ja tekniikoita merkkijonojen vertailuun, joista jokaisella on oma toiminto. Tutkimme tässä artikkelissa lukuisia Python-merkkijonojen vertailumenetelmiä ja ymmärrämme, kuinka niitä käytetään.

  Input:   'Geek' == 'Geek'  'Geek' <'geek'  'Geek'>'geek' 'Geek' != 'Geek' Tulos: Tosi Tosi Väärin Väärin Selitys: Tässä verrataan kahta merkkijonoa, jos ne ovat keskenään yhtä suuret.>

Python-merkkijonojen vertailu

  • Käyttämällä Relaatiooperaattorit
  • Käyttämällä Tavallinen ilme
  • Is Operatorin käyttö
  • Luodaan a käyttäjän määrittelemä toiminto.

Sama kuin merkkijono Python u laulaa Relaatiooperaattorit

The relaatiooperaattorit vertaa merkkijonojen Unicode-arvoja nollaindeksistä merkkijonon loppuun. Sitten se palauttaa loogisen arvon käytetyn operaattorin mukaan. Se tarkistaa Python-merkkijonoekvivalenssin.

Python 3






print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>>)> print>(>'Geek'> !>=> 'Geek'>)>

>

javatable

>

Lähtö

True True False False>

Sama kuin merkkijono Python u laulaa Tavallinen ilme

Pythonissa voit käyttää säännöllisiä lausekkeita Python-merkkijonoekvivalenssin tarkistamiseen käyttämälläre>moduuli. Säännölliset lausekkeet tarjoavat joustavan ja tehokkaan tavan määrittää kuvioita ja suorittaa kuvioiden sovitustoimintoja jouset .

Python 3




import> re> def> compare_strings(string1, string2):> >pattern>=> re.>compile>(string2)> >match>=> re.search(pattern, string1)> >if> match:> >print>(f>''{string2}' found in '{string1}''>)> >else>:> >print>(f>''{string2}' not found in '{string1}''>)> string1>=> 'GeeksForGeeks'> string2>=> 'GeeksFor'> string3>=> 'Geeks'> compare_strings(string1, string2)> compare_strings(string1, string3)>

>

>

Lähtö

'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>

Merkkijonojen vertailu Pythonissa u laulan minä s Operaattori

The == operaattori vertaa molempien operandien arvoja ja tarkistaa arvojen tasa-arvon. Sitä vastoin On operaattori tarkistaa, viittaavatko molemmat operandit samaan kohteeseen vai eivät. Sama koskee != ja ei ole . Anna meidän ymmärtää Python-merkkijono Vastaavuus esimerkin kanssa.

Python 3




str1>=> 'Geek'> str2>=> 'Geek'> str3>=> str1> print>(>'ID of str1 ='>,>hex>(>id>(str1)))> print>(>'ID of str2 ='>,>hex>(>id>(str2)))> print>(>'ID of str3 ='>,>hex>(>id>(str3)))> print>(str1>is> str1)> print>(str1>is> str2)> print>(str1>is> str3)> str1>+>=> 's'> str4>=> 'Geeks'> print>(>' ID of changed str1 ='>,>hex>(>id>(str1)))> print>(>'ID of str4 ='>,>hex>(>id>(str4)))> print>(str1>is> str4)>

>

>

Lähtö

ID of str1 = 0x7f6037051570 ID of str2 = 0x7f6037051570 ID of str3 = 0x7f6037051570 True True True ID of changed str1 = 0x7f60356137d8 ID of str4 = 0x7f60356137a0 False>

Merkkijonojen objektitunnukset voivat vaihdella eri koneissa. Kohteiden str1, str2 ja str3 objektitunnukset olivat samat, joten tulos on True kaikissa tapauksissa. Kun str1:n objektitunnus on muutettu, str1:n ja str2:n tulos on epätosi. Jopa sen jälkeen, kun str4 on luotu samalla sisällöllä kuin uudessa str1:ssä, vastaus on epätosi, koska niiden objektitunnukset ovat erilaiset. Päinvastoin tapahtuu ei ole.

Merkkijonojen vertailu Pythonissa Käyttäjän määrittämän funktion luominen.

Käyttämällä relaatiooperaattoreita voimme tarkistaa Python-merkkijonoekvivalenssin vain niiden Unicode-koodilla. Jotta voidaan verrata kahta jouset joidenkin muiden parametrien mukaan voimme tehdä käyttäjän määrittämiä toimintoja . Seuraavassa koodissa käyttäjän määrittämä toimintomme vertaa merkkijonoja numeroiden lukumäärän perusteella.

Python 3




# function to compare string> # based on the number of digits> def> compare_strings(str1, str2):> >count1>=> 0> >count2>=> 0> > >for> i>in> range>(>len>(str1)):> >if> str1[i]>>>'0'> and> str1[i] <>=> '9'>:> >count1>+>=> 1> > >for> i>in> range>(>len>(str2)):> >if> str2[i]>>>'0'> and> str2[i] <>=> '9'>:> >count2>+>=> 1> > >return> count1>=>=> count2> print>(compare_strings(>'123'>,>'12345'>))> print>(compare_strings(>'12345'>,>'geeks'>))> print>(compare_strings(>'12geeks'>,>'geeks12'>))>

>

>

Lähtö

False False True>