Sobes.tech
Junior
228

Ako sa porovnávajú sekvencie v Pythone?

Odpoveď od AI

sobes.tech AI

Sekvencie v Pythone (reťazce, zoznamy, n-tice) sa porovnávajú po elementoch, začínajúc od prvého.

Algoritmus porovnávania:

  1. Porovnajú sa prvé prvky oboch sekvencií.
  2. Ak sú prvky rovnaké, porovnajú sa druhé prvky.
  3. Proces pokračuje, kým sa nenájdu odlišné prvky alebo kým jedna zo sekvencií nebude vyčerpaná.

Výsledok porovnania je určený prvou dvojicou odlišných prvkov:

  • Ak je prvok prvej sekvencie "menší" ako prvok druhej, prvá sekvencia sa považuje za menšiu.
  • Ak je prvok prvej sekvencie "väčší" ako prvok druhej, prvá sekvencia sa považuje za väčšiu.

Ak všetky prvky zodpovedajú a jedna sekvencia je prefixom druhej, považuje sa za väčšiu tá dlhšia. Ak majú obe sekvencie rovnakú dĺžku a všetky prvky zodpovedajú, považujú sa za rovné.

Typy prvkov musia byť porovnateľné. Reťazce sa porovnávajú lexikograficky (podľa abecedy). Čísla sa porovnávajú podľa hodnoty.

Príklady:

# Porovnanie reťazcov
print("apple" < "banana")  # True, 'a' < 'b'
print("cat" == "cat")      # True
print("dog" > "cat")       # True, 'd' > 'c'

# Porovnanie zoznamov
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, prvé je dlhšie

# Porovnanie n-tíc
print((1, 2) < (1, 3))      # True, 2 < 3
print((1, 2) == (1, 2))      # True
print((1, 2, 3) > (1, 2))  # True, prvé je dlhšie

# Typy musia byť porovnateľné
# print([1] < "a") # Chyba TypeError

Operátory porovnania:

  • < (menší)
  • > (väčší)
  • <= (menší alebo rovný)
  • >= (väčší alebo rovný)
  • == (rovný)
  • != (nerovný)