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:
OutputEnter 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:
OutputEnter 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