Typ - tuple()
Tupla (nazywana również krotką) jest zmienną, która pozwala przechowywać wiele obiektów.
- tuple są uporządkowane (ordered). Kolejność obiektów w tupli nie zmienia się.
- tuple są obiektami niemutowalnymi (Immutable), to znaczy że nie pozwalają zmieniać swojej zawartość. Oznacza to, że do istniejącej tupli nie możemy dodawać obiektów, nie możemy usuwać obiektów oraz nie możemy zmieniać wartości obiektów.
- tuple pozwalają przechowywać obiekty o powtarzających się wartościach.
- listy pozwalają przechowywać obiekty, wszystkich typów.
Deklaracja tupli bez wartości:
tuple1 = () tuple2 = tuple()
Deklaracja tupli z watościami:
tuple1 = (1, 2, 3) tuple2 = (1.2, 3.4, 5.6) tuple3 = (True, False, True) tuple4 = ('one', 'two', 'three') tuple5 = (1, 1.2, 'three', True) tuple6 = 1, 2, 3 tuple7 = (1, ) tuple8 = 1, tuple9 = tuple((3, 2, 3))
Zwracanie obiektów z tupli:
tuple1 = ('one', 'two', 'three', 'four', 'three') print(tuple1[3]) # wynik --> four print(tuple1[0]) # wynik --> one print(tuple1[-1]) # wynik --> three print(tuple1[1:3]) # wynik --> ('two', 'three') print(tuple1[0:3]) # wynik --> ('one', 'two', 'three') print(tuple1[:3]) # wynik --> ('one', 'two', 'three') print(tuple1[2:]) # wynik --> ('three', 'four', 'three') print(tuple1[:]) # wynik --> ('one', 'two', 'three', 'four', 'three') print(tuple1[-3:-1]) # wynik --> ('three', 'four')
Uwaga!
Gdy zwracamy z tupli przedział [1:3] to pobierane są elementy od indeksu 1 do indeksu 2. Obiekt znajdujący się pod indeksem 3 nie jest zwracany. Jeżeli używamy indeksów ujemnych, wówczas należy pamiętać, że gdy wprowadzimy przedział [-3:-1] to ostatni obiekt nie zostanie zwrócony. Jeżeli chcemy, aby ostatni element został zwrócony, wówczas należy zastosować następującą składnię [-3:]
Zmiana wartości obiektu w tupli nie jest możliwa:
tuple1 = ('one', 'two', 'three', 'four', 'three') tuple1[3] = 7 # wynik --> TypeError: 'tuple' object does not support item assignment
Typ zmiennej obiektu tuple:
tuple1 = () print(type(tuple1)) # wynik --> <class 'tuple'>