Come confrontare le stringhe in Python

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:

Output
Enter 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:

Output
Enter 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