https://docs.python.org/3/library/stdtypes.html#tuples
Krotki (tuples) to uporządkowane kolekcje dowolnych obiektów. Są heterogeniczne i mogą być dowolnie zagnieżdżane. Dostęp do obiektów możliwy jest za pomocą offsetu.
Krotki są niezmiennymi sekwencjami, jak łańcuchy. Nie można ich modyfikować w miejscu i mają ustalony rozmiar. Podobnie jak listy, krotki najlepiej traktować jako tablice odwołań obiektowych.
Krotki są stosowane zamiast list tam, gdzie zależy nam na niezmienności.
+----------------------+-------------------------------------------+ | Operacja | Znaczenie | +----------------------+-------------------------------------------+ | T = () ; T = tuple() | krotka pusta | | T = (0,) | krotka jednopozycyjna (nawiasy zalecane) | | | T = (1, 3, 5, 7) | krotka czteropozycyjna (nawiasy zbędne) | | T = tuple(sequence) | tworzenie krotki z sekwencji | | len(T) | rozmiar (długość) | | T1 + T2 | łączenie | | T * n, n * T | powtarzanie | | T[i] | indeks | | T[i:j] | wycinek (nowa krotka) | | T[i:j:k] | wycinek (nowa krotka) | | for item in T: pass | iteracja | | item in T | zawieranie (bool) | | item not in T | | | del T | usuwanie krotki | | (x, y) = (a, b) | x = a ; y = b # podstawianie | +----------------------+-------------------------------------------+
# Krotka jednoelementowa. T = ('a',) # bez przecinka będzie string # Można też T = tuple('a'), bo string jest sekwencją. # Dla liczb można przekonwertować listę T = tuple([2]). T = ('a', 'b', 'c') # T = ('a', 'b', 'c',) # przecinek na końcu jest dozwolony T[1] len(T) # 3 # Można tworzyć zmodyfikowaną (nową) krotkę. T = ('A',) + T[1:] L = [1, 2, 3, 4] front, L = L[0], L[1:] # odcięcie początku # Konwersja listy do krotki. T = tuple(L)
# Krotki i listy mogą występować w nietypowym podstawieniu. (x, y) = (12, 34) # podstawiamy za x i y a, b = b, a # zamiana w Pythonie dane = (43, 54) (x2, y2) = dane (NIEDZIELA, PONIEDZIALEK, WTOREK, SRODA, CZWARTEK, PIATEK, SOBOTA) = range(7)
dir(tuple) # spis metod T = (1, 2, 3, 5, 7) T.index(5) # 3, jaki indeks ma liczba 5 T.count(5) # 1, liczba 5 pojawia się raz w krotce
>>> T = (5, 7) >>> T[1] = 9 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> T.append(9) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'tuple' object has no attribute 'append' >>>