Рубрики
Без рубрики

Сравнение строки Python

Сравнение строки Python может быть выполнено с использованием равенства (==) и сравнения (<,>,! =, <=,> =). Нет особых методов

Автор оригинала: Pankaj Kumar.

Сравнение строки Python может быть выполнено с использованием равенства (==) и сравнения (<,>,! =, <=,> =). Нет специальных методов для сравнения двух строк.

Сравнение строки Python

Сравнение строки Python выполняется с использованием символов в обоих строках. Персонажи в обеих строках сравниваются один за другим. Когда разные символы обнаружены, то его значение Unicode сравнивается. Персонаж с более низким значением Unicode считается меньше.

Давайте просмотрим некоторые примеры для сравнения строки.

fruit1 = 'Apple'

print(fruit1 == 'Apple')
print(fruit1 != 'Apple')
print(fruit1 < 'Apple')
print(fruit1 > 'Apple')
print(fruit1 <= 'Apple')
print(fruit1 >= 'Apple')

Выход:

True
False
False
False
True
True

Обе строки точно такие же, следовательно, они равны. Так что оператор равенства возвращается в этом случае.

Давайте посмотрим на другой пример, где мы получим входы от пользователя, а затем сравнивать их.

fruit1 = input('Please enter the name of first fruit:\n')
fruit2 = input('Please enter the name of 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 same.")

Выход:

Please enter the name of first fruit:
Apple
Please enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.

Please enter the name of first fruit:
Orange
Please enter the name of second fruit:
Orange
Orange and Orange are same.

Давайте посмотрим, если сравнение чувствительно к регистру или нет? Также, если «A» приходит «A»?

print('apple' == 'Apple')
print('apple' > 'Apple')
print('A unicode is', ord('A'), ',a unicode is', ord('a'))

Выход:

False
True
A unicode is 65 ,a unicode is 97

Таким образом, «Apple» меньше по сравнению с «Apple» из-за их значений Unicode. Мы используем функцию ORD () для распечатки значения кода Unicode COMP.

Что если одна из строки сделана из второй строки и некоторых дополнительных символов?

print('Apple' < 'ApplePie')

Выход: Правда

Если последовательность символов одинакова в обоих строках, но у одного из них есть некоторые дополнительные символы, то строка большей длины считается больше другого.

Что делать, если мы используем <и> операторы, чтобы сравнить две равные строки?

print('apple' < 'apple')
print('apple' > 'apple')

Выход:

False
False

Очевидно, обе строки не являются ни меньшими, ни больше, чем другой. Следовательно, выход является ложным в обоих случаях.