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'> )> |
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]>>> and> str1[i] <> => '9'> :> > count1> +> => 1> > > for> i> in> range> (> len> (str2)):> > if> str2[i]>>> 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