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:
- Porovnajú sa prvé prvky oboch sekvencií.
- Ak sú prvky rovnaké, porovnajú sa druhé prvky.
- 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ý)