logo

Primerjava nizov v Pythonu

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>