n-tica (tuple)

Spomínaš si na listy z minulej lekcie? Tuple je rovnako ako list dátová štruktúra, ktorej prvky však počas práce s programom nemožno meniť a rovnako je nemenná aj jej veľkosť. To znamená, že na rozdiel od listu nemožno pridávať prvky na jej koniec, do stredu, alebo do akejkoľvej inej časti.

Pre lepšie pochopenie sa pozrime na nasledujúci prípad:

tuple = (1, 2, 3, 4, 5)
list = [1, 2, 3, 4, 5]

tuple.append(6)
print(tuple)
# Vystup:
# AttributeError: 'tuple' object has no attribute 'append'

list.append(6)
print(list)
# Vystup:
# [1, 2, 3, 4, 5, 6]

tuple[2] = 0
print(tuple)
# Vystup:
# TypeError: 'tuple' object does not support item assignment

list[2] = 0
print(list)
# Vystup:
# [1, 2, 0, 4, 5]

Spájanie a násobenie tuples

Stále však vieme, podobne ako pri zozname, spájať dva tuples dohromady, či ich násobiť.

Pozor! Tieto úkony môžeme vykonať len pri deklarácii nového tuple, ktorý bude mať neskôr takisto fixnú veľkosť.

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3 = tuple1 + tuple2
tuple4 = tuple2 * 2

print(tuple3)
print(tuple4)

# Výstup:
# (1, 2, 3, 4, 5, 6)
# (4, 5, 6, 4, 5, 6)

Načo je to dobré?

Zrejme si kladiete otázku, k čomu je takéto niečo dobré. Veď predsa tuple vyzerá ako taký horší list. Vieme pristupovať k jeho prvkom, ale nevieme ho meniť. V skutočnosti táto vlastnosť (že ho nevieme meniť) sa nám bude hodiť ak budeme chcieť pracovať s dátovými štruktúrami ako sú množina (set), alebo slovník (dict). Ale o tom viac v ďalších lekciách :)