Comparar cadenas en Python

Manav Narula 30 enero 2023
  1. Use los operadores relacionales para comparar cadenas en Python
  2. Utilice el operador is para comparar cadenas en Python
  3. Utilice la lógica definida por el usuario para comparar cadenas en Python
  4. Use las expresiones regulares para comparar cadenas en Python
Comparar cadenas en Python

Este tutorial presentará cómo comparar cadenas en Python.

Use los operadores relacionales para comparar cadenas en Python

En Python, los operadores relacionales se utilizan para comparar diferentes valores. Las cadenas se pueden comparar utilizando estos operadores. Cuando comparamos cadenas, comparamos sus valores Unicode.

En el siguiente código, compararemos dos cadenas utilizando los operadores relacionales e imprimiremos sus resultados.

str1 = "Mark"
str2 = "Jack"

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

Producción :

True
False
False
True
True
False

Las comparaciones de cadenas en Python distinguen entre mayúsculas y minúsculas. En caso de que queramos hacer las comparaciones de cadenas de forma insensible a mayúsculas y minúsculas, podemos usar la función islower(), que convierte todos los caracteres de la cadena a minúsculas, y luego procede a compararlos.

Utilice el operador is para comparar cadenas en Python

El operador is se utiliza para comprobar la comparación de identidades en Python. Esto significa que si dos variables tienen la misma ubicación de memoria, entonces su identidad se considera la misma y el resultado de su comparación es True; de lo contrario, es False. El operador is es diferente del operador relacional == ya que este último prueba la igualdad. Por ejemplo,

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

Producción :

True
False 

Utilice la lógica definida por el usuario para comparar cadenas en Python

Además de estos operadores integrados, podemos crear nuestras funciones definidas por el usuario para comparar cadenas en otros factores como su longitud y más.

En el siguiente código, implementamos una función definida por el usuario para comparar la longitud de dos cadenas.

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)

Producción :

Equal Length

Use las expresiones regulares para comparar cadenas en Python

Las expresiones regulares se usan mucho en Python y se pueden usar para verificar si una cadena coincide con un patrón o no.

En el siguiente ejemplo, compararemos dos cadenas con un patrón usando expresiones 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)

Producción :

True
False

El patrón re en el anterior comprueba si una cadena comienza con Ma y es seguida por otras letras. Es por eso que Mark devuelve True y ack devuelve 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

Artículo relacionado - Python String