Python tutorial #6 – Listy, krotki, zbiory i słowniki

Listy, krotki, zbiory i słowniki służą do przechowywania różnych danych w jednej zmiennej. Wszystkie różnią się od siebie i są przeznaczone do innych zastosowań.


Jak je rozpoznać?

Najprostszymi do rozpoznania są listy i krotki. Tak, jak wspomniałam na początku artykułu, wszystkie służą do przechowywania wielu danych.
  • krotka - Jest ograniczona nawiasami okrągłymi. Jest to typ danych niemutowalny, co oznacza, że raz stworzona krotka nie może być edytowana.
  • lista - Jest ograniczona nawiasami kwadratowymi. Jest to typ danych mutowalny, co oznacza, że możemy dodawać i usuwać elementy z listy w trakcie wykonywania programu.
  • zbiór - Jest ograniczony nawiasami klamrowymi. Jest to typ danych niemutowalny. Charakerystyczną cechą dla zbioru jest to, że dane w nim nie mogą się powtarzać
  • słownik - Także jest ograniczony nawiasami klamrowymi. Jest to typ danych mutowalny. Charakerystyczną cechą dla słownika jest to, że posiada on klucze oraz wartości.
Dane w każdych z nich mogą być różnego rodzaju.

Jak je stworzyć?

# warto tutaj zaznaczyć, że nazwy zmiennych są dowolne
# użyłam tutaj nazw zgodnych z wykorzystywanym typem dla ułatwienia
krotka = (1, 2, 3)
lista = ["tak", "nie", "nie wiem"]
zestaw = {1, 2, 3, "coś innego"}
słownik = {"klucz 1": 13, "klucz 2": 10, 3: "wartość"}

print(krotka)
# wynikiem jest (1, 2, 3)

print(lista)
# wynikiem jest ['tak', 'nie', 'nie wiem']

Odwoływanie się do poszczególnych elementów

Listy oraz krotki indeksują dane. Oznacza to, że każdy element ma przypisany indeks. Jest on liczony od lewej strony, od zera. Weźmy za przykład naszą listę stworzoną w powyższym kodzie. Składa się ona z 3 kolejnych elementów: "tak", "nie", "nie wiem". Każdy z tych elementów ma przypisany indeks. "tak" ma przypisany indeks 0, "nie" indeks 1, a "nie wiem" indeks 2. Kiedy chcemy się odwołać do poszczególnego elementu, używamy nazwy całej naszej zmiennej, zapisujemy nawias kwadratowy (niezależnie czy jest to krotka czy lista), a w nim podajemy indeks.
lista = ["tak", "nie", "nie wiem"]
print(lista[0])
# wynikiem jest "tak"

print(lista[1])
# wynikiem jest "nie"

print(lista[2])
# wynikiem jest "nie wiem"

print(lista[3])
# dostajemy błąd, ponieważ ten indeks wykracza poza naszą listę

Indeksy w słowniku

Podczas tworzenia słownika podajemy klucze i wartości. W powyższym kodzie zostały zdefiniowane 3 takie pary. W pierwszej parze kluczem jest tekst "klucz 1", wartością tego klucza jest liczba 13. Analogicznie następnym kluczem jest wyraz "klucz 2", a jego wartością liczba 10. Klucze i wartości mogą być różnego typu. Przykładowo następnym kluczem jest liczba 3, a jego wartością tekst "wartość".

Kiedy chcemy się odwołać do wartości w słowniku, musimy podać jego nazwę, następnie w nawiasie kwadratowym klucz.
x = {"klucz 1": 13, "klucz 2": 10, 3: "wartość"}

print(x["klucz 1"])
# wynikiem jest 13

print(x[3])
# wynikiem jest "wartość"

print(x[13])
# wyrzuca błąd KeyError - musimy podać klucz, nie wartość

Dodaj komentarz