Krotki i zakresy w Pythonie
1. Krotki (tuples)
Definicja
- Krotka (ang. tuple) to niemodyfikowalna sekwencja (immutable sequence) w Pythonie.
- Działa podobnie do listy, ale jej zawartości nie można zmieniać po utworzeniu (brak operacji dodawania, usuwania czy nadpisywania elementów).
Tworzenie krotek
Dostęp do elementów
Cechy krotek
- Niemodyfikowalne – nie można zmienić elementu:
- Szybsze od list przy iteracjach, bo są prostsze w implementacji.
- Hashowalne (mogą być kluczami w słowniku), jeśli ich elementy też są niezmienne.
Operacje na krotkach
Rozpakowywanie krotek
Zastosowania krotek
- Zwracanie wielu wartości z funkcji:
- Klucze w słownikach:
2. Zakresy (ranges)
Definicja
- Range to specjalny typ w Pythonie, reprezentujący sekwencję liczb w zadanym zakresie.
- Tworzy obiekt leniwy – liczby generowane są w razie potrzeby (oszczędność pamięci).
Tworzenie zakresów
Właściwości zakresów
- start – początek (domyślnie 0),
- stop – koniec (nie wchodzi w zakres),
- step – krok (może być ujemny).
Przykład z ujemnym krokiem:
Działanie obiektu range
rangenie generuje listy – to obiekt iterowalny:
python
r = range(1000000)
print(r[500]) # działa od razu, bez tworzenia całej listy
* Można sprawdzić obecność elementu:
python
print(10 in range(20)) # True
Właściwości obiektu range
Typowe zastosowania
- Pętla for
- Generowanie indeksów
- Tworzenie sekwencji liczb