logo

Stringvergelijking in Python

Tekenreeksvergelijking is een fundamentele bewerking in elke programmeertaal, inclusief Python. Het stelt ons in staat de relatieve posities, ordening en gelijkheid van strings vast te stellen. Python heeft een aantal operators en technieken voor het vergelijken van strings, elk met een specifieke functie. In dit artikel zullen we talloze methoden voor het vergelijken van Python-reeksen onderzoeken en begrijpen hoe we deze kunnen gebruiken.

10 van 1 miljoen
  Input:   'Geek' == 'Geek'  'Geek' <'geek'  'Geek'>'geek' 'Geek' != 'Geek' Uitvoer: Waar Waar Onwaar Onwaar Uitleg: Hierbij vergelijken we twee strings als ze gelijk zijn aan elkaar.>

Vergelijking van Python-snaars

  • Gebruik makend van Relationele operators
  • Gebruik makend van Reguliere expressie
  • Is-operator gebruiken
  • Het creëren van een gebruiker gedefinieerde functie.

Gelijk aan String Python u zingen Relationele operators

De relationele operatoren vergelijk de Unicode-waarden van de karakters van de strings vanaf de nulde index tot het einde van de string. Vervolgens retourneert het een Booleaanse waarde volgens de gebruikte operator. Het controleert Python String-equivalentie.



Python3








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

>

>

Uitvoer

True True False False>

Gelijk aan String Python u zingen Reguliere expressie

In Python kun je reguliere expressies gebruiken om Python String Equivalentie te controleren met behulp van dere>module. Normale uitdrukkingen bieden een flexibele en krachtige manier om patronen te definiëren en patroonmatchingsbewerkingen uit te voeren snaren .

Python3

wat maakt een pc snel




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)>

>

>

Uitvoer

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

Stringvergelijking in Python u zing ik S Exploitant

De == exploitant vergelijkt de waarden van beide operanden en controleert op waardegelijkheid. Terwijl is operator controleert of beide operanden naar hetzelfde object verwijzen of niet. Hetzelfde geldt voor != en is niet . Laten we het begrijpen Python-snaar Gelijkwaardigheid met een voorbeeld.

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)>

>

>

polymorfisme Java

Uitvoer

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>

De object-ID van de tekenreeksen kan op verschillende machines variëren. De object-ID's van str1, str2 en str3 waren hetzelfde, daarom is het resultaat in alle gevallen True. Nadat de object-ID van str1 is gewijzigd, zal het resultaat van str1 en str2 onwaar zijn. Zelfs nadat str4 is gemaakt met dezelfde inhoud als in de nieuwe str1, zal het antwoord onwaar zijn omdat hun object-ID's verschillend zijn. Andersom zal gebeuren met niet.

Stringvergelijking in Python Een door de gebruiker gedefinieerde functie creëren.

Door relationele operatoren te gebruiken, kunnen we de Python String-equivalentie alleen controleren op basis van hun Unicode. Om er twee te vergelijken snaren volgens enkele andere parameters kunnen we maken door de gebruiker gedefinieerde functies . In de volgende code vergelijkt onze door de gebruiker gedefinieerde functie de tekenreeksen op basis van het aantal cijfers.

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'>))>

>

Java-datum nu

>

Uitvoer

False False True>