String-Vergleich in Python
Der String-Vergleich ist eine grundlegende Operation in jeder Programmiersprache, einschließlich Python. Es ermöglicht uns, die relative Position, Reihenfolge und Gleichheit von Zeichenfolgen zu ermitteln. Python verfügt über eine Reihe von Operatoren und Techniken zum Vergleichen von Zeichenfolgen, jeweils mit einer bestimmten Funktion. In diesem Artikel werden wir zahlreiche Python-String-Vergleichsmethoden untersuchen und verstehen, wie man sie verwendet.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'geek' 'Geek' != 'Geek' Ausgabe: Wahr Wahr Falsch Falsch Erklärung: Hier vergleichen wir zwei Zeichenfolgen, wenn sie einander gleich sind.
Python-String-Vergleich
- Benutzen Vergleichsoperatoren
- Benutzen Regulären Ausdruck
- Verwendung des Is-Operators
- Ein ... Erstellen benutzerdefinierte Funktion.
Entspricht String Python u singen Vergleichsoperatoren
Der relationale Operatoren Vergleichen Sie die Unicode-Werte der Zeichen der Zeichenfolgen vom nullten Index bis zum Ende der Zeichenfolge. Anschließend wird entsprechend dem verwendeten Operator ein boolescher Wert zurückgegeben. Es überprüft die Python-String-Äquivalenz.
Python3
print> (> 'Geek'> => => 'Geek'> )> print> (> 'Geek'> <> 'geek'> )> print> (> 'Geek'> >> 'geek'> )> print> (> 'Geek'> !> => 'Geek'> )> |
Ausgabe
True True False False
Entspricht String Python u singen Regulären Ausdruck
In Python können Sie reguläre Ausdrücke verwenden, um die Python-String-Äquivalenz zu überprüfen re> Modul. Reguläre Ausdrücke bieten eine flexible und leistungsstarke Möglichkeit, Muster zu definieren und Mustervergleichsvorgänge durchzuführen Saiten .
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)> |
Ausgabe
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'
String-Vergleich in Python u singe ich S Operator
Der == Operator vergleicht die Werte beider Operanden und prüft auf Wertegleichheit. Wohingegen Ist Der Operator prüft, ob sich beide Operanden auf dasselbe Objekt beziehen oder nicht. Das Gleiche gilt für != und ist nicht . Lass es uns verstehen Python-String Gleichwertigkeit mit einem Beispiel.
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)> |
Ausgabe
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
Die Objekt-ID der Zeichenfolgen kann auf verschiedenen Computern variieren. Die Objekt-IDs von str1, str2 und str3 waren gleich, daher ist das Ergebnis in allen Fällen „True“. Nachdem die Objekt-ID von str1 geändert wurde, sind die Ergebnisse von str1 und str2 falsch. Auch nach der Erstellung von str4 mit demselben Inhalt wie im neuen str1 ist die Antwort falsch, da ihre Objekt-IDs unterschiedlich sind. Umgekehrt wird es nicht passieren.
String-Vergleich in Python Erstellen einer benutzerdefinierten Funktion.
Durch die Verwendung relationaler Operatoren können wir die Python-String-Äquivalenz nur anhand ihres Unicodes überprüfen. Um zwei zu vergleichen Saiten nach einigen anderen Parametern können wir machen benutzerdefinierte Funktionen . Im folgenden Code vergleicht unsere benutzerdefinierte Funktion die Zeichenfolgen anhand der Anzahl der Ziffern.
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'> ))> |
Ausgabe
False False True