Python - zajęcia 4
Struktury Danych
Listy
- uporządkowane kolekcje, przechowują różne typy danych
moja_lista = [1, 2, 3, "pies", "kot", True, (1, 2)]
- są modyfikowalne
Operacje na listach:
- indeksowanie, np.
moja_lista[indeks]
- wycinanie (slicing), np.
moja_lista[start:stop:step]
- dodawanie (łączenie dwóch list), np.
moja_lista1 + moja_lista2
- mnożenie (powielenie listy x razy), np.
moja_lista * x
Metody:
- append() - dodaje element na koniec listy
- pop() - usuwa ostatni lub wskazany element z listy
- clear() - usuwa wszystkie elementy z listy
- index(x, start, stop) - zwraca index pierwszego wystąpienia x
- count() - zwraca liczbę wystąpień
- sort() - sortuje listę
Krotki
- używane do przechowywania danych, które nie powinny być zmienianie
moja_krotka = (1, 2, 3, 4)
- są niemodyfikowalne
Operacje na krotkach:
- indeksowanie
- wycinanie (slicing)
- dodawanie
- mnożenie
Metody:
- index() - zwraca index pierwszego wystąpienia
- count() - zwraca liczbę wystąpień
Słowniki
- nieuporządkowane kolekcje par klucz - wartość
- klucze muszą być unikalne i niemodyfikowalne
Operacje na słownikach:
- dostęp:
slownik[klucz]
- dostęp do wybranej wartości przypisanej do klucza - dodawanie/aktualizacja:
slownik[klucz] = wartosc
-> dodaje lub aktualizuje parę klucz-wartość - usuwanie:
del slownik[klucz]
- usuwa parę klucz-wartość
Metody:
- get(klucz, default=None): Zwraca wartość dla klucz, jeśli klucz istnieje, w przeciwnym razie default
- keys(): Zwraca obiekt widoku kluczy w słowniku
- values(): Zwraca obiekt widoku wartości w słowniku
- items(): Zwraca obiekt widoku par klucz-wartość w słowniku
- pop(klucz, default=None): Usuwa klucz i zwraca jego wartość, lub default jeśli * klucz nie istnieje
- popitem(): Usuwa i zwraca ostatnią parę klucz-wartość
- clear(): Usuwa wszystkie elementy ze słownika
- update(iterable): Aktualizuje słownik, dodając pary klucz-wartość z innego iterowalnego obiektu
Zbiory
-
nieuporządkowane kolekcje unikalnych elementów
-
użyteczne do usuwania duplikatów z danych
-
Literał zbioru:
{element1, element2, ...}
-
nie zachowują kolejności elementów
-
nie mogą zawierać mutowalnych obiektów jak listy czy słowniki
-
Konstruktor:
set([iterable])
- tworzy zbiór z elementów iterowalnego obiektu -
Operacje na zbiorach:
- Dodawanie elementu:
zbior.add(elem)
- Usuwanie elementu:
zbior.remove(elem)
- rzuca wyjątek KeyError jeśli elem nie istnieje.zbior.discard(elem)
- nie rzuca wyjątku - Czyszczenie zbioru:
zbior.clear()
- usuwa wszystkie elementy ze zbioru
Operacje matematyczne na zbiorach:
- Unia:
zbior1 | zbior2
lubzbior1.union(zbior2)
- Przecięcie:
zbior1 & zbior2
lubzbior1.intersection(zbior2)
- Różnica:
zbior1 - zbior2
lubzbior1.difference(zbior2)
- Różnica symetryczna:
zbior1 ^ zbior2
lubzbior1.symmetric_difference(zbior2)
Metody:
- add(elem): Dodaje element do zbioru.
- remove(elem): Usuwa element ze zbioru; rzuca KeyError jeśli element nie istnieje.
- discard(elem): Usuwa element ze zbioru; nie rzuca wyjątku jeśli element nie istnieje.
- pop(): Usuwa i zwraca losowy element ze zbioru; rzuca KeyError jeśli zbiór jest pusty.
- clear(): Usuwa wszystkie elementy ze zbioru.