Поиск по сайту:

Как сравнивать строки в Python


Введение

Вы можете сравнивать строки в 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.")

Вот пример потенциального результата при вводе разных значений:

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

Вот пример потенциального вывода при вводе идентичных строк:

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

Примечание. Чтобы этот пример работал, пользователю необходимо ввести либо только верхний регистр, либо только нижний регистр для первой буквы обеих входных строк. Например, если пользователь вводит строки apple и Banana, вывод будет таким: apple идет после Banana в словаре, что неверно. .

Это несоответствие возникает из-за того, что значения кодовой точки Unicode для прописных букв всегда меньше, чем значения кодовой точки Unicode для строчных букв: значение a равно 97, а значение B равно 66. Вы можете проверить это самостоятельно, используя функцию ord() для вывода значения кодовой точки Unicode для символов.

Заключение

В этой статье вы узнали, как сравнивать строки в Python, используя равенство (==) и сравнение (<, >, ! =, <=, >=) операторы. Продолжайте изучать строки Python.