Cómo comparar cadenas en Python

Introducción

Puedes comparar cadenas en Python utilizando los operadores de igualdad (==) y comparación (<, >, !=, <=, >=). No hay métodos especiales para comparar dos cadenas. En este artículo, aprenderás cómo funcionan cada uno de los operadores al comparar cadenas.

La comparación de cadenas en Python compara los caracteres en ambas cadenas uno por uno. Cuando se encuentran caracteres diferentes, se comparan los valores de los puntos de código Unicode. Se considera que el carácter con el valor Unicode más bajo es más pequeño.

Operadores de Igualdad y Comparación en Python

Declara la variable de cadena:

fruit1 = 'Apple'

La siguiente tabla muestra los resultados de comparar cadenas idénticas (Apple a Apple) utilizando diferentes operadores.

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

Ambas cadenas son exactamente iguales. En otras palabras, son iguales. El operador de igualdad y los otros operadores iguales a devuelven True.

Si comparas cadenas de diferentes valores, obtendrás el resultado exactamente opuesto.

Si comparas cadenas que contienen la misma subcadena, como Apple y ApplePie, entonces se considera que la cadena más larga es mayor.

Comparación de la entrada del usuario para evaluar la igualdad usando operadores

Este código de ejemplo toma y compara la entrada del usuario. Luego, el programa utiliza los resultados de la comparación para imprimir información adicional sobre el orden alfabético de las cadenas de entrada. En este caso, el programa asume que la cadena más pequeña viene antes de la cadena más 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.")

Aquí tienes un ejemplo de la salida potencial cuando ingresas diferentes valores:

Output
Enter the name of first fruit: Apple Enter the name of second fruit: Banana Apple comes before Banana in the dictionary.

Aquí tienes un ejemplo de la salida potencial cuando ingresas cadenas idénticas:

Output
Enter the name of first fruit: Orange Enter the name of second fruit: Orange Orange and Orange are the same.

Nota: Para que este ejemplo funcione, el usuario necesita ingresar solo mayúsculas o solo minúsculas para la primera letra de ambas cadenas de entrada. Por ejemplo, si el usuario ingresa las cadenas apple y Banana, entonces la salida será apple viene después de Banana en el diccionario, lo cual es incorrecto.

Esta discrepancia ocurre porque los valores de los puntos de código Unicode de las letras mayúsculas son siempre más pequeños que los valores de los puntos de código Unicode de las letras minúsculas: el valor de a es 97 y el valor de B es 66. Puedes probar esto por ti mismo usando la función ord() para imprimir el valor del punto de código Unicode de los caracteres.

Conclusión

En este artículo aprendiste cómo comparar cadenas en Python utilizando los operadores de igualdad (==) y comparación (<, >, !=, <=, >=). Continúa tu aprendizaje sobre cadenas en Python.

Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison