Il confronto tra stringhe è un'operazione fondamentale in qualsiasi linguaggio di programmazione, incluso Python. Ci consente di accertare la posizione relativa, l’ordine e l’uguaglianza delle stringhe. Pitone ha una serie di operatori e tecniche per confrontare stringhe, ciascuno con una funzione specifica. Esamineremo numerosi metodi di confronto delle stringhe Python in questo articolo e comprenderemo come usarli.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'geek' 'Geek' != 'Geek' Risultato: Vero Vero Falso Falso Spiegazione: In questo caso stiamo confrontando due stringhe se sono uguali tra loro.>
Confronto tra stringhe Python
- Utilizzando Operatori relazionali
- Utilizzando Espressione regolare
- Utilizzo dell'operatore Is
- Creare un definito dall'utente funzione.
Uguale a String Python u cantare Operatori relazionali
IL operatori relazionali confrontare i valori Unicode dei caratteri delle stringhe dall'indice zero fino alla fine della stringa. Restituisce quindi un valore booleano in base all'operatore utilizzato. Controlla l'equivalenza delle stringhe Python.
Python3
analizzare la stringa in int
print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>'geek'>)> print>(>'Geek'> !>=> 'Geek'>)> |
>
>
Produzione
convertire la stringa in oggetto json
True True False False>
Uguale a String Python u cantare Espressione regolare
In Python, puoi utilizzare le espressioni regolari per verificare l'equivalenza delle stringhe Python utilizzando il comandore>modulo. Espressioni regolari fornire un modo flessibile e potente per definire modelli ed eseguire operazioni di corrispondenza dei modelli stringhe .
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)> |
>
>
I comandi Linux creano la cartella
Produzione
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>
Confronto di stringhe in Python u canto io S Operatore
IL == operatore confronta i valori di entrambi gli operandi e controlla l'uguaglianza dei valori. Mentre È L'operatore controlla se entrambi gli operandi si riferiscono allo stesso oggetto oppure no. Lo stesso vale per != e non è . Cerchiamo di capire Stringa di pitone Equivalenza con un esempio.
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)> |
>
il controllo Java è nullo
>
Produzione
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>
L'ID oggetto delle stringhe può variare su macchine diverse. Gli ID oggetto di str1, str2 e str3 erano gli stessi pertanto il risultato è True in tutti i casi. Dopo aver modificato l'ID oggetto di str1, il risultato di str1 e str2 sarà falso. Anche dopo aver creato str4 con lo stesso contenuto del nuovo str1, la risposta sarà falsa poiché i loro ID oggetto sono diversi. Viceversa accadrà con non.
Confronto di stringhe in Python Creazione di una funzione definita dall'utente.
Utilizzando gli operatori relazionali possiamo verificare l'equivalenza delle stringhe Python solo tramite il loro Unicode. Per confrontarne due stringhe secondo alcuni altri parametri, possiamo fare funzioni definite dall'utente . Nel codice seguente, la nostra funzione definita dall'utente confronterà le stringhe in base al numero di cifre.
prima ricerca approfondita dell'algoritmo
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'>))> |
>
>
Produzione
False False True>