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

  • range nie 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