Introduzione
Puoi confrontare le stringhe in Python utilizzando gli operatori di uguaglianza (==
) e confronto (<
, >
, !=
, <=
, >=
). Non ci sono metodi speciali per confrontare due stringhe. In questo articolo, imparerai come funzionano ciascuno degli operatori quando si confrontano le stringhe.
Il confronto delle stringhe in Python confronta i caratteri in entrambe le stringhe uno per uno. Quando vengono trovati caratteri diversi, vengono confrontati i valori dei punti di codice Unicode. Il carattere con il valore Unicode più basso è considerato più piccolo.
Operatori di uguaglianza e confronto in Python
Dichiara la variabile stringa:
fruit1 = 'Apple'
La tabella seguente mostra i risultati del confronto tra stringhe identiche (Apple
con Apple
) utilizzando operatori diversi.
Operator | Code | Output |
---|---|---|
Equality | print(fruit1 == 'Apple') |
True |
Not equal to | print(fruit1 != 'Apple') |
False |
Less than | print(fruit1 < 'Apple') |
False |
Greater than | print(fruit1 > 'Apple') |
False |
Less than or equal to | print(fruit1 <= 'Apple') |
True |
Greater than or equal to | print(fruit1 >= 'Apple') |
True |
Entrambe le stringhe sono esattamente uguali. In altre parole, sono uguali. L’operatore di uguaglianza e gli altri uguali a operatori restituiscono True
.
Se confronti stringhe di valori diversi, ottieni l’output esattamente opposto.
Se confronti le stringhe che contengono la stessa sottostringa, come Apple
e ApplePie
, allora la stringa più lunga è considerata più grande.
Confrontare l’Input dell’Utente per Valutare l’Uguaglianza Utilizzando gli Operatori
Questo esempio di codice prende e confronta l’input dell’utente. Successivamente, il programma utilizza i risultati del confronto per stampare informazioni aggiuntive sull’ordine alfabetico delle stringhe di input. In questo caso, il programma assume che la stringa più piccola venga prima di quella più grande.
fruit1 = input('Enter the name of the first fruit:\n')
fruit2 = input('Enter the name of the second fruit:\n')
if fruit1 < fruit2:
print(fruit1 + " comes before " + fruit2 + " in the dictionary.")
elif fruit1 > fruit2:
print(fruit1 + " comes after " + fruit2 + " in the dictionary.")
else:
print(fruit1 + " and " + fruit2 + " are the same.")
Ecco un esempio dell’output potenziale quando inserisci valori diversi:
OutputEnter the name of first fruit:
Apple
Enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.
Ecco un esempio dell’output potenziale quando inserisci stringhe identiche:
OutputEnter the name of first fruit:
Orange
Enter the name of second fruit:
Orange
Orange and Orange are the same.
Nota: Perché questo esempio funzioni, l’utente deve inserire o solo lettere maiuscole o solo lettere minuscole per la prima lettera di entrambe le stringhe di input. Ad esempio, se l’utente inserisce le stringhe apple
e Banana
, l’output sarà apple viene dopo Banana nel dizionario
, il che è incorretto.
Questa discrepanza si verifica perché i valori dei punti di codice Unicode delle lettere maiuscole sono sempre inferiori ai valori dei punti di codice Unicode delle lettere minuscole: il valore di a
è 97 e il valore di B
è 66. Puoi testare questo tu stesso utilizzando la funzione ord()
per stampare il valore del punto di codice Unicode dei caratteri.
Conclusione
In questo articolo hai imparato come confrontare le stringhe in Python utilizzando gli operatori di uguaglianza (==
) e di confronto (<
, >
, !=
, <=
, >=
). Continua il tuo apprendimento sulle stringhe Python.
Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison