Sobes.tech
Junior
225

Как се сравняват последователностите в Python?

Отговор от AI

sobes.tech AI

Последователностите в Python (низове, списъци, кортежи) се сравняват по елемент, започвайки от първия.

Алгоритъм за сравнение:

  1. Сравняват се първите елементи на двете последователности.
  2. Ако елементите са равни, се сравняват вторите.
  3. Процесът продължава, докато не се намерят различни елементи или една от последователностите не бъде изчерпана.

Резултатът от сравнението се определя от първия двойка различни елементи:

  • Ако елементът на първата последователност е "по-малък" от този на втората, първата последователност се счита за по-малка.
  • Ако елементът на първата последователност е "по-голям" от този на втората, първата последователност се счита за по-голяма.

Ако всички елементи съвпадат и една последователност е префикс на другата, по-дългата се счита за по-голяма. Ако и двете последователности имат еднаква дължина и всички елементи съвпадат, те се считат за равни.

Типовете елементи трябва да са сравними. Стрингите се сравняват лексикографски (по азбучен ред). Числата се сравняват по стойност.

Примери:

# Сравнение на низове
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

Оператори за сравнение:

  • < (по-малко)
  • > (по-голямо)
  • <= (по-малко или равно)
  • >= (по-голямо или равно)
  • == (равно)
  • != (различно)