Comparar Strings em Python

Manav Narula 30 janeiro 2023
  1. Use os operadores relacionais para comparar strings em Python
  2. Use o operador is para comparar strings em Python
  3. Use a lógica definida pelo usuário para comparar strings em Python
  4. Use as expressões regulares para comparar strings em Python
Comparar Strings em Python

Este tutorial irá apresentar como comparar strings em Python.

Use os operadores relacionais para comparar strings em Python

Em Python, os operadores relacionais são usados ​​para comparar diferentes valores. As strings podem ser comparadas usando esses operadores. Quando comparamos strings, comparamos seus valores Unicode.

No código a seguir, compararemos duas strings usando os operadores relacionais e imprimiremos seus resultados.

str1 = "Mark"
str2 = "Jack"

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

Resultado:

True
False
False
True
True
False

As comparações de strings em Python diferenciam maiúsculas de minúsculas. No caso de desejarmos fazer as comparações de strings sem fazer distinção entre maiúsculas e minúsculas, podemos usar a função islower(), que converte todos os caracteres na string para minúsculas e, em seguida, proceder à comparação.

Use o operador is para comparar strings em Python

O operador is é usado para verificar a comparação de identidade no Python. Isso significa que se duas variáveis ​​têm o mesmo local de memória, então sua identidade é considerada a mesma e o resultado de sua comparação é True; caso contrário, é False. O operador is é diferente do operador relacional ==, pois o último testa a igualdade. Por exemplo,

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

Resultado:

True
False 

Use a lógica definida pelo usuário para comparar strings em Python

Além desses operadores integrados, podemos criar nossas funções definidas pelo usuário para comparar strings em outros fatores, como comprimento e muito mais.

No código a seguir, implementamos uma função definida pelo usuário para comparar o comprimento de duas strings.

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)

Resultado:

Equal Length

Use as expressões regulares para comparar strings em Python

Expressões regulares são muito usadas em Python e podem ser usadas para verificar se uma string corresponde a um padrão ou não.

No exemplo a seguir, compararemos duas strings com um padrão usando expressões regulares.

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)

Resultado:

True
False

O padrão re acima verifica se uma string começa com Ma e é seguida por outras letras. É por isso que Mark retorna True e ack retorna False.

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

Artigo relacionado - Python String