CodeGym /Kursy /Python SELF PL /Krotki (Tuple)

Krotki (Tuple)

Python SELF PL
Poziom 8 , Lekcja 1
Dostępny

10.1 Krotka i jej właściwości

Krotki należą do czterech wbudowanych typów kolekcji w Python.

Jak już wiesz, Python ma kilka wbudowanych typów danych, które pozwalają przechowywać grupy obiektów. Są to list — lista, tuple — krotka, set — zbiór, dictionary — słownik. Dziś zajmiemy się drugim i jednym z najprostszych z nich — krotką.

Krotka (tuple) pozwala przechowywać kilka elementów. Każdy element ma swój numer porządkowy, co czyni krotkę uporządkowaną — ordered. Pod tym względem przypomina listę.

Zmieniać krotki nie można — raz utworzona, pozostaje niezmienna, co czyni ją idealną do przechowywania danych, które nie powinny się zmieniać w programie. Dlatego jej druga cecha to niezmienność (immutable).

Jeśli chodzi o duplikaty — w krotce można przechowywać takie same elementy kilka razy — allow duplicates. Ponownie, bardzo przypomina listę.

Warto wiedzieć. Można myśleć o krotce jak o niezmiennej liście, która zamiast nawiasów kwadratowych [] używa okrągłych ().

10.2 Tworzenie krotki

Krotki — to niezmienne sekwencje elementów, które można tworzyć na różne sposoby. Oto najbardziej popularne z nich:

Bezpośrednie zadeklarowanie:

Krotki można stworzyć bezpośrednio za pomocą nawiasów okrągłych () i przecinków do rozdzielania elementów.


tuple1 = (1, 2, 3)
tuple2 = ("apple", "banana", "cherry", "apple", "cherry")
tuple3 = (1, "apple", True)

Bez nawiasów:

Python pozwala tworzyć krotki bez użycia nawiasów, po prostu rozdzielając elementy przecinkami.


tuple1 = 1, 2, 3
tuple2 = "apple", "banana", "cherry", "apple", "cherry"
tuple3 = 1, "apple", True

Krotka z jednym elementem:

Aby stworzyć krotkę z jednym elementem trzeba postawić przecinek po tym elemencie.


tuple1 = (1,)
tuple2 = ("apple",)
tuple3 = (True,)

Użycie tuple():

Funkcja tuple() przekształca obiekt iterowalny w krotkę. To może być lista, ciąg znaków lub inny obiekt iterowalny.


list_to_tuple = tuple([1, 2, 3])

10.3 Rozpakowywanie elementów krotki

Podczas pracy z krotkami można zapakować kilka elementów w jedną krotkę lub rozpakować krotkę na kilka zmiennych, co upraszcza kod:

Podstawowe rozpakowywanie

Przykład rozpakowywania krotki do zmiennych:


my_tuple = (1, 2, 3)
x, y, z = my_tuple

Tutaj zmienne x, y i z otrzymują wartości 1, 2 i 3 odpowiednio.

Zaawansowane rozpakowywanie

Python obsługuje również zaawansowane rozpakowywanie, które pozwala wyodrębniać części krotki do listy, używając symbolu *:


a, *b, c = (1, 2, 3, 4, 5)  # a = 1, b = [2, 3, 4], c = 5

W tym przykładzie a i c otrzymują pierwszą i ostatnią wartość, a b staje się listą ze wszystkimi pozostałymi wartościami.

Zastosowanie w funkcjach

Rozpakowywanie krotek jest często używane przy przekazywaniu argumentów do funkcji. To szczególnie wygodne, gdy funkcja przyjmuje zmienną liczbę argumentów lub gdy argumenty są wcześniej spakowane w krotki lub listy:


def func(a, b, c):
    print(a, b, c)
        
values = (1, 2, 3)
func(*values)

Specyfika użycia

Rozpakowywanie krotek wymaga dokładnego dopasowania liczby elementów krotki do liczby zmiennych, którym są przypisywane, inaczej zostanie wygenerowany błąd. Jednak użycie * do zbierania nadmiarowych elementów pozwala uniknąć tego błędu, czyniąc kod bardziej elastycznym na zmiany w danych.

10.4 Lista metod

Krotki — to obiekty niezmienne, dlatego mają bardzo mało metod. Tylko dwie 😊

Funkcja count(x):

Zwraca liczbę, ile razy x pojawia się w krotce. Jest to przydatne do liczenia liczby określonych elementów.


t = (1, 2, 3, 2, 4, 2)
print(t.count(2)) # Wyświetli 3 

Funkcja index(x):

Zwraca indeks pierwszego wystąpienia elementu x w krotce. Jeśli element nie zostanie znaleziony, pojawia się wyjątek ValueError.


t = (1, 2, 3, 2, 4, 2)
print(t.index(3)) # Wyświetli 2 

Chociaż to wszystko, jeśli chodzi o metody klasy tuple, to nie oznacza, że nie można z nimi nic zrobić. Można, tylko będzie to trochę trudniejsze.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION