Ennik (tuple)

Ennik (tuple), vahel ka nimetusega korteež, rida või järjend, on andmetüüp, mis on jada Pythoni objekte. Ennik on väga sarnane järjendile (Järjend (list)), kuid erinevalt järjendist on ta muutumatu (immutable).

Enniku loomine

Enniku loomiseks tuleb elemendid eraldada komadega ja panna ümarsulgude vahele. Elementide arv pole piiratud ja elemendid võivad olla erinevat andmetüüpi - näiteks täisarv (int), ujukomaarv (float), sõne (str), järjend (list) jne.

Programmis kasutatakse enniku kirjeldamiseks ümarsulge "(..., ...)" (erinevalt listist, kus oli kandilised sulud "[..., ...]"). Elementide indekseerimiseks aga kasutatakse siiski nurksulge.

Enniku asemel saaks alati kasutada järjendit, aga heaks tavaks on kasutada järjendeid vaid neil juhtudel, kus kogumi elemendid on kõik ühte tüüpi: näiteks [1, 2, 3, ...] või ["hello", "world!"]. Ennikuid võiks eelistada siis, kui meil on mingi kindel komplekt elemente, mida me tahame koos käsitleda, kusjuures iga element võib olla erinevat tüüpi.

tup0 = ()  # Empty tuple
tup1 = (1,)  # Need to use a comma with one element
tup2 = (1, 2)
tup3 = ("hello", 123, "abc")  # Different types
tup4 = ("wasd", tup3, 777.2)  # -> ('wasd', ('hello', 123, 'abc'), 777.2)

# Parentheses can be omitted, but it's safer to use them
tup5 = 1,  # Use of comma!
tup6 = 1, 3, 5

# Tuple of list
tup7 = tuple([4])  # -> (4,)
tup8 = tuple(["Boeing", 737, "Cessna", 210])  # -> ("Boeing", 737, "Cessna", 210)

# List of tuple
list1 = list(tup7)  # -> [4]
list2 = list(tup8)  # -> ["Boeing", 737, "Cessna", 210]
empty = ()
singleton = 'hello',    # Note trailing comma
print(len(empty))  # -> 0
print(len(singleton))  # -> 1
print(singleton)  # -> ('hello',)

Rohkem lugemist