Введение
Вы можете сравнивать строки в Python с использованием операторов равенства (==
) и сравнения (<
, >
, !=
, <=
, >=
). Нет специальных методов для сравнения двух строк. В этой статье вы узнаете, как работают каждый из операторов при сравнении строк.
Сравнение строк в Python происходит путем посимвольного сравнения символов в обеих строках. Когда обнаруживаются разные символы, сравниваются значения их кодов Unicode. Считается, что символ с более низким значением Unicode является меньшим.
Операторы равенства и сравнения в Python
Объявите переменную строки:
fruit1 = 'Apple'
В следующей таблице показаны результаты сравнения идентичных строк (Apple
и Apple
) с использованием разных операторов.
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 |
Обе строки полностью идентичны. Другими словами, они равны. Оператор равенства и другие операторы равенства возвращают True
.
Если вы сравниваете строки с разными значениями, то получаете точно противоположный результат.
Если вы сравниваете строки, содержащие одинаковую подстроку, например, Apple
и ApplePie
, то более длинная строка считается большей.
Сравнение ввода пользователя для оценки равенства с использованием операторов
Этот примерный код принимает и сравнивает ввод пользователя. Затем программа использует результаты сравнения для вывода дополнительной информации о алфавитном порядке введенных строк. В этом случае программа предполагает, что меньшая строка идет перед большей строкой.
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.")
Вот пример возможного вывода при вводе различных значений:
OutputEnter the name of first fruit:
Apple
Enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.
Вот пример возможного вывода при вводе идентичных строк:
OutputEnter the name of first fruit:
Orange
Enter the name of second fruit:
Orange
Orange and Orange are the same.
Примечание: Для того чтобы этот пример работал, пользователь должен вводить либо только прописные, либо только строчные буквы для первой буквы обеих вводимых строк. Например, если пользователь вводит строки apple
и Banana
, то вывод будет apple идет после Banana в словаре
, что неверно.
Это несоответствие происходит потому, что кодовые значения точек Unicode заглавных букв всегда меньше кодовых значений строчных букв: значение a
равно 97, а значение B
равно 66. Вы можете проверить это сами, используя функцию ord()
для вывода кодового значения символов.
Вывод
В этой статье вы узнали, как сравнивать строки в Python с использованием операторов равенства (==
) и сравнения (<
, >
, !=
, <=
, >=
). Продолжайте изучение строки в Python.
Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison