Junior
225
Как се сравняват последователностите в Python?
Отговор от AI
sobes.tech AI
Последователностите в Python (низове, списъци, кортежи) се сравняват по елемент, започвайки от първия.
Алгоритъм за сравнение:
- Сравняват се първите елементи на двете последователности.
- Ако елементите са равни, се сравняват вторите.
- Процесът продължава, докато не се намерят различни елементи или една от последователностите не бъде изчерпана.
Резултатът от сравнението се определя от първия двойка различни елементи:
- Ако елементът на първата последователност е "по-малък" от този на втората, първата последователност се счита за по-малка.
- Ако елементът на първата последователност е "по-голям" от този на втората, първата последователност се счита за по-голяма.
Ако всички елементи съвпадат и една последователност е префикс на другата, по-дългата се счита за по-голяма. Ако и двете последователности имат еднаква дължина и всички елементи съвпадат, те се считат за равни.
Типовете елементи трябва да са сравними. Стрингите се сравняват лексикографски (по азбучен ред). Числата се сравняват по стойност.
Примери:
# Сравнение на низове
print("apple" < "banana") # True, 'a' < 'b'
print("cat" == "cat") # True
print("dog" > "cat") # True, 'd' > 'c'
# Сравнение на списъци
print([1, 2, 3] < [1, 2, 4]) # True, 3 < 4
print([1, 2, 3] == [1, 2, 3]) # True
print([1, 2, 3] > [1, 2]) # True, първият е по-дълъг
# Сравнение на кортежи
print((1, 2) < (1, 3)) # True, 2 < 3
print((1, 2) == (1, 2)) # True
print((1, 2, 3) > (1, 2)) # True, първият е по-дълъг
# Типовете трябва да са сравними
# print([1] < "a") # Грешка TypeError
Оператори за сравнение:
<(по-малко)>(по-голямо)<=(по-малко или равно)>=(по-голямо или равно)==(равно)!=(различно)