logo

Strängjämförelse i Python

Strängjämförelse är en grundläggande operation i alla programmeringsspråk, inklusive Python. Det gör det möjligt för oss att fastställa strängars relativa positioner, ordning och jämlikhet. Pytonorm har ett antal operatorer och tekniker för att jämföra strängar, var och en med en specifik funktion. Vi kommer att undersöka många Python-strängjämförelsemetoder i den här artikeln och förstå hur man använder dem.

  Input:   'Geek' == 'Geek'  'Geek' <'geek'  'Geek'>'geek' 'Geek' != 'Geek' Utdata: Sant Sant Falskt Falskt Förklaring: I detta jämför vi två strängar om de är lika med varandra.>

Python String Comparison

  • Använder sig av Relationella operatörer
  • Använder sig av Vanligt uttryck
  • Använder Is Operator
  • Skapa en användardefinierad fungera.

Lika med String Python u sjunga Relationella operatörer

De relationsoperatörer jämför Unicode-värdena för tecknen i strängarna från det nollte indexet till slutet av strängen. Den returnerar sedan ett booleskt värde enligt den operator som används. Den kontrollerar Python String Equivalence.



exempel på java-kod

Python3








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

>

>

Produktion

True True False False>

Lika med String Python u sjunga Vanligt uttryck

I Python kan du använda reguljära uttryck för att kontrollera Python String Equivalence med hjälp avre>modul. Vanliga uttryck tillhandahålla ett flexibelt och kraftfullt sätt att definiera mönster och utföra mönstermatchningsoperationer på strängar .

Python3

strängvändning i c




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

>

>

Produktion

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

Strängjämförelse i Python u sjunga jag s Operatör

De == operatör jämför värdena för båda operanderna och kontrollerar värdelikhet. Medan är operatorn kontrollerar om båda operanderna refererar till samma objekt eller inte. Detsamma är fallet för != och är inte . Låt oss förstå Python sträng Motsvarighet med ett exempel.

Python3




exempel binärt sökträd
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)>

>

>

Produktion

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>

Strängarnas objekt-ID kan variera på olika maskiner. Objekt-ID:n för str1, str2 och str3 var desamma, därför är resultatet True i alla fall. Efter att objekt-id för str1 har ändrats kommer resultatet av str1 och str2 att vara falskt. Även efter att ha skapat str4 med samma innehåll som i den nya str1, kommer svaret att vara falskt eftersom deras objekt-ID är olika. Vice versa kommer att hända med är det inte.

Strängjämförelse i Python Skapa en användardefinierad funktion.

Genom att använda relationsoperatorer kan vi bara kontrollera Python String Equivalence med deras Unicode. För att jämföra två strängar enligt några andra parametrar kan vi göra användardefinierade funktioner . I följande kod kommer vår användardefinierade funktion att jämföra strängarna baserat på antalet siffror.

Python3


round robin schemaläggningsalgoritm



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

>

>

Produktion

False False True>