Primerjava nizov je temeljna operacija v katerem koli programskem jeziku, vključno s Pythonom. Omogoča nam ugotavljanje relativnih položajev, vrstnega reda in enakosti nizov. Python ima številne operatorje in tehnike za primerjavo nizov, od katerih ima vsak svojo funkcijo. V tem članku bomo preučili številne metode primerjave nizov Python in razumeli, kako jih uporabiti.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'geek' 'Geek' != 'Geek' Izhod: True True False False Pojasnilo: V tem primeru primerjamo dva niza, če sta med seboj enaka.>
Primerjava nizov Python
- Uporaba Relacijski operaterji
- Uporaba Vsakdanje izražanje
- Uporaba operatorja Is
- Ustvarjanje a uporabnik definiran funkcijo.
Enako kot String Python u peti Relacijski operaterji
The relacijskih operaterjev primerjajte Unicode vrednosti znakov nizov od ničelnega indeksa do konca niza. Nato vrne logično vrednost glede na uporabljeni operator. Preverja enakovrednost nizov Python.
Python3
print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>'geek'>)> print>(>'Geek'> !>=> 'Geek'>)> |
>
>
Izhod
True True False False>
Enako kot String Python u peti Vsakdanje izražanje
V Pythonu lahko uporabite regularne izraze za preverjanje enakovrednosti nizov Python z uporabore>modul. Regularni izrazi zagotavljajo prilagodljiv in zmogljiv način za definiranje vzorcev in izvajanje operacij ujemanja vzorcev strune .
Python3
povežite se z bazo podatkov java
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)> |
>
>
Izhod
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>
Primerjava nizov v Pythonu u pojem jaz s Operater
The == operater primerja vrednosti obeh operandov in preveri enakost vrednosti. Ker je operator preveri, ali se oba operanda nanašata na isti objekt ali ne. Enako velja za != in ni . Naj razumemo Python String Enakovrednost s primerom.
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)> |
>
>
Izhod
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>
ID objekta nizov se lahko razlikuje na različnih strojih. ID-ji objektov str1, str2 in str3 so bili enaki, zato je rezultat v vseh primerih True. Ko se ID objekta str1 spremeni, bo rezultat str1 in str2 napačen. Tudi po ustvarjanju str4 z enako vsebino kot v novem str1 bo odgovor napačen, saj so njihovi ID-ji objektov različni. Nasprotno se bo zgodilo z ni.
Primerjava nizov v Pythonu Ustvarjanje uporabniško definirane funkcije.
Z uporabo relacijskih operatorjev lahko preverimo samo enakovrednost nizov v Pythonu z njihovim Unicodeom. Za primerjavo dveh strune po nekaterih drugih parametrih lahko naredimo uporabniško definirane funkcije . V naslednji kodi bo naša uporabniško definirana funkcija primerjala nize glede na število števk.
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]>>=> '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'>))> |
>
>
Izhod
False False True>