Confrontare stringhe in Python

Manav Narula 20 luglio 2021
  1. Usa gli operatori relazionali per confrontare le stringhe in Python
  2. Usa l’operatore is per confrontare le stringhe in Python
  3. Usa la logica definita dall’utente per confrontare le stringhe in Python
  4. Usa le espressioni regolari per confrontare le stringhe in Python
Confrontare stringhe in Python

Questo tutorial introdurrà come confrontare le stringhe in Python.

Usa gli operatori relazionali per confrontare le stringhe in Python

In Python, gli operatori relazionali vengono utilizzati per confrontare valori diversi. Le stringhe possono essere confrontate utilizzando questi operatori. Quando confrontiamo le stringhe, confrontiamo i loro valori Unicode.

Nel codice seguente, confronteremo due stringhe utilizzando gli operatori relazionali e stamperemo i loro risultati.

str1 = "Mark"
str2 = "Jack"

print(str1 > str2)
print(str1 < str2)
print(str1 == str2)
print(str1 != str2)
print(str1 >= str2)
print(str1 <= str2)

Produzione:

True
False
False
True
True
False

I confronti tra stringhe in Python fanno distinzione tra maiuscole e minuscole. Nel caso in cui vogliamo fare i confronti tra stringhe senza distinzione tra maiuscole e minuscole, possiamo usare la funzione islower(), che converte tutti i caratteri nella stringa in minuscolo, e poi procediamo a confrontarli.

Usa l’operatore is per confrontare le stringhe in Python

L’operatore is viene utilizzato per verificare il confronto dell’identità in Python. Ciò significa che se due variabili hanno la stessa posizione di memoria, la loro identità è considerata la stessa e il risultato del confronto è True; in caso contrario, è False. L’operatore is è diverso dall’operatore relazionale == poiché quest’ultimo verifica l’uguaglianza. Per esempio,

str1 = "Mark"
str2 = str1
str3 = "MARK"
print(str1 is str2)
print(str1 is str3)

Produzione:

True
False 

Usa la logica definita dall’utente per confrontare le stringhe in Python

Oltre a questi operatori incorporati, possiamo creare le nostre funzioni definite dall’utente per confrontare le stringhe su altri fattori come la loro lunghezza e altro ancora.

Nel codice seguente implementiamo una funzione definita dall’utente per confrontare la lunghezza di due stringhe.

def check_len(s1, s2):
    a = len(s1)
    b = len(s2)
    if a > b:
        print(s1, " is Longer")
    elif a == b:
        print("Equal Length")
    else:
        print(s2, " is Longer")


str1 = "Mark"
str2 = "Jack"
check_len(str1, str2)

Produzione:

Equal Length

Usa le espressioni regolari per confrontare le stringhe in Python

Le espressioni regolari sono molto utilizzate in Python e possono essere utilizzate per verificare se una stringa corrisponde o meno a un modello.

Nell’esempio seguente, confronteremo due stringhe con un modello utilizzando espressioni regolari.

import re

str1 = "Mark"
str2 = "Jack"


def check_pattern(s):
    if re.match("Ma[a-z]+", s):
        print("Pass")
    else:
        print("Fail")


check_pattern(str1)
check_pattern(str2)

Produzione:

True
False

Il modello re nel precedente controlla se una stringa inizia con Ma ed è seguita da altre lettere. Ecco perché Mark restituisce True e ack restituisce False.

Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python String