Opublikowano: 26 marca 2019

Aktualizacja: 26 marca 2019

Krotki (ang. tuple) to obiekty bardzo podobne do list (także są sekwencjami) są jednak stałe, niezmienne - jak łańcuch znaków. Podobnie jak listy, są to uporządkowane kolekcje obiektów dowolnego typu (listy, słowniki, liczby, ...), wykonywać operacje na sekwencjach jednak nie obsługują żadnych operacji modyfikujących. Tuple są indeksowane od 0 (tak jak listy), pierwszym indeksem pustej krotki jest zawsze [0]. Krotki posiadają stałą długość oraz rozmiar oraz mogą być dowolnie zagnieżdżone.

Tworzenie krotek:

# pusta krotka
box = ()
# krotka jednoelementowa
y = (100,) # bez nawiasu wartość zmiennej y będzie liczbą
# krotka dwuelementowa
box = (25, 30)
# inny zapis, mniej czytelny. Nawiasy wymagane tylko jeśli przekazujemy krotkę do funkcji
x = 1, 2, 3, 4, 5, 6, 7, 8, 9
# krotka zagnieżdżona
multi_box = ('wymiary', 25, 30, [100, 20, 50])

Podstawowe operacje na krotkach:

# sprawdzenie długości krotki
len(box)
# konkatenacja i powtórzenia (tworzy nowe tuple!)
box + (50,)
x + x # lub (1, 2, 3) + (4, 5)
x * 5 # lub (1, 2, 3) * 5

Iteracje, indeksy i wycinki

# iteracja przez elementy krotki, działania w pętli
for i in x: print(i)
[i ** 2 for i in x]
# indeksowanie i wycinki
box[0]
x[3:5]
x[:3]
x[5:]
multi_box[3][1]
# sprawdzenie pozycji (indeksu) elementu
box.index(25)
# zliczanie wystąpień danego elementu
box.count(30)
# sprawdzenie wystąpienia elementu, zwraca True lub False
25 in box
# sortowanie
sorted(x)
# usuwanie krotki
del x

Konwertowanie

# konwertowanie krotki x na listę l, i na odwrót
l = list(x)
l = [i * 2 for i in x] # za pomocą listy składanej
x = tuple(l)

Błędy i wyjątki

# taki numer nie przejdzie, krotki są niezmienne
box[1] = 100
# ale ... można modyfikować zmienne el. krotki, w tym wypadku listę
multi_box [3][1] = 500

Zalety krotek
Krotki działają nieco szybciej niż listy. Jeśli zachodzi potrzeba zdefiniowania stałego zbioru jakichś wartości lepiej jest skorzystać z krotek zamiast z listy. Korzystając z tupli, mamy pewność, że dane w nich zawarte nie zostaną nigdy zmienione. W przeciwieństwie do list, mogą one zostać użyte jako klucz w słowniku ponieważ klucze w słowniku muszą być niezmienne (stałe). Jest jednak wyjątek, jeśli wewnątrz krotki zagnieździmy listę, to krotka ta nie będzie mogła zostać użyta jako klucz, gdyż lista jest zmienna.

Spis treści:

Brak komentarzy

Zobacz również:


note-image

1.1 Wprowadzenie

Python to niezwykle potężny, wieloplatformowy, interpretowany, interaktywny oraz wysokopoziomowy język programowania ogólnego zastosowania, który jest jednocześnie stosunkowo łatwy w nauce. Został stworzony przez holenderskiego programistę Guido van Rossuma (BDFL) w 1990 r., a po raz pierwszy opublikowany w roku następnym. ...

Czytaj więcej
note-image

1.2 IDE dla Pythona

IDE - Zintegrowane środowisko programistyczne dedykowane do języka Python: Sublime Text 3 Jest to wieloplatformowy, rozbudowany i wysoce konfigurowalny edytor tekstu napisany w C++ oraz Pythonie. Zalety: - Darmowy (od czasu do czasu wyświetla komunikat zachęcający do rejestracji płatnej wersji) ...

Czytaj więcej
note-image

2.1 Podstawowe typy danych

Python zawiera wbudowane typy danych będące integralną i nieodłączną częścią tego języka programowania. Obiekty wbudowane znacznie ułatwiają pisanie programów, korzystanie z nich pozwala zaoszczędzić mnóstwo czasu. Wbudowane typy danych są zoptymalizowane pod kątem wydajności, są również opakowane w zestaw metod ...

Czytaj więcej