Eilučių palyginimas Python
Stygų palyginimas yra pagrindinė bet kurios programavimo kalbos, įskaitant Python, operacija. Tai leidžia mums nustatyti santykinę stygų padėtį, tvarką ir lygybę. Python turi daugybę operatorių ir technikų, skirtų eilėms palyginti, kurių kiekviena atlieka tam tikrą funkciją. Šiame straipsnyje išnagrinėsime daugybę Python eilučių palyginimo metodų ir suprasime, kaip juos naudoti.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'geek' 'Geek' != 'Geek' Išvestis: tiesa, tiesa, klaidinga, klaidinga. Paaiškinimas: čia lyginame dvi eilutes, jei jos yra lygios viena kitai.
Python stygų palyginimas
- Naudojant Santykių operatoriai
- Naudojant Įprasta išraiška
- Operatoriaus naudojimas
- Kuriant a vartotojo apibrėžtas funkcija.
Lygu String Python u dainuoti Santykių operatoriai
The reliaciniai operatoriai palyginkite eilučių simbolių Unicode reikšmes nuo nulinio indekso iki eilutės pabaigos. Tada jis grąžina loginę reikšmę pagal naudojamą operatorių. Jis patikrina Python eilutės lygiavertiškumą.
Python3
print> (> 'Geek'> => => 'Geek'> )> print> (> 'Geek'> <> 'geek'> )> print> (> 'Geek'> >>> )> print> (> 'Geek'> !> => 'Geek'> )> |
Išvestis
True True False False
Lygu String Python u dainuoti Įprasta išraiška
Python galite naudoti reguliariąsias išraiškas, kad patikrintumėte Python eilutės lygiavertiškumą naudodami re> modulis. Įprastos išraiškos suteikia lankstų ir galingą būdą apibrėžti šablonus ir atlikti modelių derinimo operacijas stygos .
Python3
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)> |
Išvestis
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'
Stygų palyginimas Python u dainuoju aš s operatorius
The == operatorius lygina abiejų operandų reikšmes ir tikrina verčių lygybę. kadangi yra operatorius patikrina, ar abu operandai nurodo tą patį objektą, ar ne. Tas pats pasakytina apie != ir nėra . Leisk mums suprasti Python eilutė Lygiavertiškumas su pavyzdžiu.
Python3
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)> |
Išvestis
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
Stygų objekto ID įvairiose mašinose gali skirtis. Str1, str2 ir str3 objektų ID buvo vienodi, todėl visais atvejais rezultatas yra True. Pakeitus str1 objekto ID, str1 ir str2 rezultatas bus klaidingas. Net sukūrus str4 su tokiu pačiu turiniu kaip ir naujajame str1, atsakymas bus klaidingas, nes jų objektų ID skiriasi. Atvirkščiai atsitiks su nėra.
Eilučių palyginimas Python Vartotojo nustatytos funkcijos kūrimas.
Naudodami reliacinius operatorius galime patikrinti Python eilutės ekvivalentiškumą tik pagal jų Unicode. Norėdami palyginti du stygos pagal kai kuriuos kitus parametrus galime pagaminti vartotojo apibrėžtos funkcijos . Šiame kode mūsų vartotojo nustatyta funkcija palygins eilutes pagal skaitmenų skaičių.
Python3
# 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'> ))> |
Išvestis
False False True