Skip to main content Link Menu Expand (external link) Document Search Copy Copied
PRG Lab 19

Więcej Pythona

Trudniejsze programowanie dla dzieci


Dziś zajmiemy się obsługą danych w Pythonie. Na pierwszy ogień:

Tuple

Tupla to jedna z wbudowanych struktur danych w języku Python. Jest to sekwencyjny, niemodyfikowalny (immutable) obiekt, co oznacza, że nie można zmieniać jego zawartości po utworzeniu.

Tupla jest tworzona za pomocą nawiasów okrągłych () i może zawierać różne typy danych, w tym liczby, stringi, inne tupli, czy nawet inne struktury danych. Przykład:

tupla = (1, "Python", 3.14, (1, 2, 3))

Niemodyfikowalność tupli sprawia, że są one przydatne w sytuacjach, gdzie chcemy mieć pewność, że dane nie ulegną zmianie. Bezproblemowo możemy wykonywać różne operacje na tuplach

# Dostęp do elementów tupli przez indeksowanie
pierwszy_element = tupla[0]

# Rozpakowywanie tupli
a, b, c, d = tupla
print(a, b, c, d)  # Wydrukuje: 1 Python 3.14 (1, 2, 3)

# Wyszukiwanie elementu w tupli
indeks_pythona = tupla.index("Python")

# Liczenie wystąpień danego elementu w tupli
ilosc_jedynek = tupla.count(1)

Słowniki

Słownik (ang. dictionary) to struktura danych w Pythonie, która umożliwia przechowywanie zbioru par klucz-wartość. Każdy klucz musi być unikalny w obrębie danego słownika, a wartości mogą być dowolnymi obiektami.

Słownik jest tworzony za pomocą nawiasów klamrowych {}, a pary klucz-wartość oddzielane są dwukropkiem. Przykład:

slownik = {"klucz1": "wartosc1", "klucz2": 42, "klucz3": [1, 2, 3]}
# Dostęp do wartości poprzez klucz
wartosc = slownik["klucz1"]

# Dodanie nowej pary klucz-wartość
slownik["nowy_klucz"] = "nowa_wartosc"

# Aktualizacja wartości dla istniejącego klucza
slownik["klucz2"] = 100

# Usunięcie pary klucz-wartość
del slownik["klucz3"]

# Sprawdzenie, czy klucz istnieje w słowniku
istnieje_klucz = "klucz1" in slownik

# Pobranie wartości dla danego klucza z domyślną wartością, jeśli klucz nie istnieje
wartosc = slownik.get("klucz_nieistniejacy", "domyslna_wartosc")

# Iteracja po kluczach
for klucz in slownik:
    print(klucz, slownik[klucz])

# Iteracja po parach klucz-wartość
for klucz, wartosc in slownik.items():
    print(klucz, wartosc)

Sety

Struktura danych reprezentująca kolekcję unikalnych elementów. Inaczej niż tuple albo listy nie utrzymują kolejności elementów, ale za to wszystkie elementy są różne.

zbior = {1, 2, 3, 4, 5}

Elementy w zbiorze muszą być unikalne, co oznacza, że jeśli próbujemy dodać do zbioru element, który już w nim istnieje, nie będzie on dodawany po raz drugi. Zbiory w Pythonie są dynamiczne i można do nich dodawać, usuwać oraz przeprowadzać różne magiczne operacje.

# Dodanie elementu do zbioru
zbior.add(6)

# Usunięcie elementu ze zbioru
zbior.remove(3)

# Sprawdzenie, czy element znajduje się w zbiorze
czy_jest_w_zbiorze = 2 in zbior

# Operacje zbiorowe (suma, różnica, iloczyn)
zbior_a = {1, 2, 3, 4}
zbior_b = {3, 4, 5, 6}

suma_zbiorow = zbior_a | zbior_b
roznica_zbiorow = zbior_a - zbior_b
iloczyn_zbiorow = zbior_a & zbior_b

# Iteracja po elementach zbioru
for element in zbior:
    print(element)

Zadania do laboratorium

Zadania z Tuplami:

  1. Tworzenie i Indeksowanie:
    • Stwórz tuplę zawierającą kilka różnych typów danych (np. liczby całkowite, zmiennoprzecinkowe, stringi).
    • Wydrukuj każdy element tupli w osobnej linii.
  2. Rozpakowywanie i Modyfikacja:
    • Stwórz tuplę, która zawiera kilka liczb całkowitych.
    • Następnie przypisz te liczby do trzech zmiennych za pomocą rozpakowywania.
    • Zmodyfikuj jedną z liczb i wydrukuj całą tuplę.

Zadania z Setami:

  1. Operacje na Zbiorach:
    • Stwórz dwa zbiory zawierające kilka liczb całkowitych.
    • Wydrukuj sumę, różnicę i iloczyn tych zbiorów.
  2. Sprawdzenie Przynależności:
    • Stwórz zbiór zawierający kilka imion.
    • Poproś użytkownika o wprowadzenie imienia.
    • Wydrukuj informację, czy podane imię znajduje się w zbiorze.

Zadania ze Słownikami:

  1. Operacje na Słownikach:
    • Stwórz słownik z informacjami o swoich ulubionych filmach (tytuł, rok, reżyser).
    • Dodaj nowy film do słownika.
    • Wydrukuj tytuły wszystkich filmów z ich rokiem produkcji.
  2. Iteracja po Słownikach:
    • Stwórz słownik z danymi o kilku przedmiotach szkolnych (nazwa przedmiotu i liczba punktów).
    • Używając pętli for, wydrukuj informacje o każdym przedmiocie w osobnej linii.