Streszczenie Funkcje i listy w Pythonie

Funkcje i Listy w Pythonie: Kompletny Przewodnik dla Studentów

Wprowadzenie

Listy w Pythonie (list) są podstawową i bardzo użyteczną strukturą danych do przechowywania uporządkowanych kolekcji wartości. W tym materiale poznasz tworzenie list, podstawowe operacje na listach, popularne metody oraz praktyczne przykłady zastosowania w rzeczywistych zadaniach.

Lista (list) jest uporządkowaną, indeksowalną i mutowalną kolekcją, która może zawierać różne typy danych, w tym inne listy.

Podstawy list

Tworzenie listy

  • Bezpośrednie przypisanie: numbers = [1, 2, 3, 4, 5]
  • Pusta lista i dodawanie elementów:
    • measurements = []
    • measurements.append(36.5)

Indeksowanie i wycinanie

  • Indeksowanie zaczyna się od 0. Dostęp do elementów: patients[0], patients[-1] (ostatni element).
  • Wycinanie (slicing) pozwala na wybór podsekwencji: patients[1:4] (indeksy 1, 2, 3), patients[:3], patients[2:].
  • Krok w operacji wycinania: patients[::2] (co drugi element), patients[::-1] (odwrócona kolejność).

Praktyczny przykład:

  • patients = ["Jan", "Marie", "Petr", "Anna", "Tomáš"]
    • patients[0] → "Jan"
    • patients[-1] → "Tomáš"
    • patients[1:4] → ["Marie", "Petr", "Anna"]

Pamiętaj: w listach możesz zmieniać elementy za pomocą indeksu; w ciągach znaków nie jest to możliwe (ciągi znaków są niemutowalne).

Operacje na listach

Łączenie i powtarzanie

  • Łączenie: all_patients = group_a + group_b
  • Powtarzanie: week_data = [0] * 7

Sprawdzanie zawartości

  • in, not in do sprawdzania obecności: if "Jan Novák" in patients:

Porównywanie list

  • Porównywane są zarówno kolejność, jak i wartości: [1,2,3] == [1,2,3] → True, [1,2,3] == [3,2,1] → False

Praca z wieloma listami jednocześnie

enumerate()

  • Elegancki sposób na uzyskanie indeksu i wartości:
    • for i, patient in enumerate(patients, start=1): print(f"{i}. {patient}")

zip()

  • Do równoległego przechodzenia przez dwie (lub więcej) listy:
    • for name, temp in zip(names, temperatures): print(f"{name}: {temp}°C")

Metody dodawania elementów

  • append(x) – dodaje pojedynczy element na koniec: patients.append("Petr").
  • extend(iterable) – rozpakowuje obiekt iterowalny i dodaje jego elementy: patients.extend(["Petr","Anna"]).
  • insert(index, x) – wstawia element na konkretną pozycję: patients.insert(1, "Anna").

Uwaga: append(["Petr","Anna"]) dodaje całą listę jako jeden element (lista zagnieżdżona).

Metody usuwania elementów

  • remove(x) – usuwa pierwsze wystąpienie wartości x. Jeśli nie istnieje, zgłasza błąd ValueError.
    • Wzorzec bezpieczeństwa: if x in patients: patients.remove(x).
  • pop([index]) – usuwa i zwraca element pod danym indeksem; domyślnie jest to ostatni element.
    • last = patients.pop()
    • first = patients.pop(0)

Inne przydatne metody

  • index(x) – zwraca indeks pierwszego wystąpienia x.
  • count(x) – zlicza wystąpienia x.
  • sort() – sortuje list w miejscu (modyfikuje oryginalny list). Nie ma wartości zwracanej (zwraca None).
  • sorted(list) – zwraca nowy, posortowany list; oryginalny pozostaje niezmieniony.

Tabela: Porównanie sort() vs sorted()

Właściwośćlist.sort()sorted(list)
Modyfikuje oryginalny listTakNie
Zwraca nowy listNieTak
ZastosowanieGdy nie potrzebujesz oryginalnegoGdy chcesz zachować oryginalny

Kopie listy i odwołania

  • Przypisanie b = a tworzy drugą nazwę dla tego samego obiektu (współdzielone odwołanie).
  • Aby uzyskać prawdziwą kopię, użyj a.copy() lub a[:].

Przykład:

  • a = [1,2,3]
  • b = a
  • b.append(4) # a jest teraz [1,2,3,4]
  • c = a.copy(); c.append(5) # a pozostaje [1,2,3,4], c jest [1,2,3,4,5]

Konwersja z innych typów danych

  • Z tekstu na listę: list("ACGTTAGC") → rozpakowuje znaki.
  • Ze stringu za pomocą split(): data = "Jan,25,Praha"; parts = data.split(",") → ["Jan","25","Praha"]
Zarejestruj się po pełne podsumowanie
FiszkiTest wiedzyStreszczeniePodcastMapa myśli
Zacznij za darmo

Masz już konto? Zaloguj się

Python Listy i Operacje

Klíčové pojmy: Lista jest zmienna, indeksowalna i uporządkowana, Tworzenie: [] lub [a,b,c]; pusta i stopniowe dodawanie elementów za pomocą append(), Indeksowanie zaczyna się od 0; wycinanie (slicing): start:stop:step, append() dodaje element; extend() rozszerza listę o elementy z obiektu iterowalnego, insert(i,x) wstawia element na indeksie i, remove(x) usuwa pierwsze wystąpienie; pop([i]) zwraca i usuwa element, list.sort() sortuje listę w miejscu (in-place); sorted(list) zwraca nową, posortowaną listę, b = a to referencja; użyj a.copy() lub a[:] do stworzenia kopii, enumerate() zwraca indeks i wartość; zip() do równoległego iterowania, split() konwertuje ciąg znaków na listę, dzieląc go separatorem, Sprawdzanie zawartości za pomocą in i not in, sort() nie zwraca wartości (None) — nie łączyć z przypisaniem

## Wprowadzenie Listy w Pythonie (list) są podstawową i bardzo użyteczną strukturą danych do przechowywania uporządkowanych kolekcji wartości. W tym materiale poznasz tworzenie list, podstawowe operacje na listach, popularne metody oraz praktyczne przykłady zastosowania w rzeczywistych zadaniach. > Lista (list) jest uporządkowaną, indeksowalną i mutowalną kolekcją, która może zawierać różne typy danych, w tym inne listy. ## Podstawy list ### Tworzenie listy - Bezpośrednie przypisanie: `numbers = [1, 2, 3, 4, 5]` - Pusta lista i dodawanie elementów: - `measurements = []` - `measurements.append(36.5)` ### Indeksowanie i wycinanie - Indeksowanie zaczyna się od 0. Dostęp do elementów: `patients[0]`, `patients[-1]` (ostatni element). - Wycinanie (slicing) pozwala na wybór podsekwencji: `patients[1:4]` (indeksy 1, 2, 3), `patients[:3]`, `patients[2:]`. - Krok w operacji wycinania: `patients[::2]` (co drugi element), `patients[::-1]` (odwrócona kolejność). Praktyczny przykład: - patients = ["Jan", "Marie", "Petr", "Anna", "Tomáš"] - `patients[0]` → "Jan" - `patients[-1]` → "Tomáš" - `patients[1:4]` → ["Marie", "Petr", "Anna"] > Pamiętaj: w listach możesz zmieniać elementy za pomocą indeksu; w ciągach znaków nie jest to możliwe (ciągi znaków są niemutowalne). ## Operacje na listach ### Łączenie i powtarzanie - Łączenie: `all_patients = group_a + group_b` - Powtarzanie: `week_data = [0] * 7` ### Sprawdzanie zawartości - `in`, `not in` do sprawdzania obecności: `if "Jan Novák" in patients:` ### Porównywanie list - Porównywane są zarówno kolejność, jak i wartości: `[1,2,3] == [1,2,3]` → True, `[1,2,3] == [3,2,1]` → False ## Praca z wieloma listami jednocześnie ### enumerate() - Elegancki sposób na uzyskanie indeksu i wartości: - `for i, patient in enumerate(patients, start=1): print(f"{i}. {patient}")` ### zip() - Do równoległego przechodzenia przez dwie (lub więcej) listy: - `for name, temp in zip(names, temperatures): print(f"{name}: {temp}°C")` ## Metody dodawania elementów - `append(x)` – dodaje pojedynczy element na koniec: `patients.append("Petr")`. - `extend(iterable)` – rozpakowuje obiekt iterowalny i dodaje jego elementy: `patients.extend(["Petr","Anna"])`. - `insert(index, x)` – wstawia element na konkretną pozycję: `patients.insert(1, "Anna")`. Uwaga: `append(["Petr","Anna"])` dodaje całą listę jako jeden element (lista zagnieżdżona). ## Metody usuwania elementów - `remove(x)` – usuwa pierwsze wystąpienie wartości `x`. Jeśli nie istnieje, zgłasza błąd `ValueError`. - Wzorzec bezpieczeństwa: `if x in patients: patients.remove(x)`. - `pop([index])` – usuwa i zwraca element pod danym indeksem; domyślnie jest to ostatni element. - `last = patients.pop()` - `first = patients.pop(0)` ### Inne przydatne metody - `index(x)` – zwraca indeks pierwszego wystąpienia `x`. - `count(x)` – zlicza wystąpienia `x`. - `sort()` – sortuje list w miejscu (modyfikuje oryginalny list). Nie ma wartości zwracanej (zwraca `None`). - `sorted(list)` – zwraca nowy, posortowany list; oryginalny pozostaje niezmieniony. Tabela: Porównanie sort() vs sorted() | Właściwość | list.sort() | sorted(list) | |---|---:|---:| | Modyfikuje oryginalny list | Tak | Nie | | Zwraca nowy list | Nie | Tak | | Zastosowanie | Gdy nie potrzebujesz oryginalnego | Gdy chcesz zachować oryginalny | ## Kopie listy i odwołania - Przypisanie `b = a` tworzy drugą nazwę dla tego samego obiektu (współdzielone odwołanie). - Aby uzyskać prawdziwą kopię, użyj `a.copy()` lub `a[:]`. Przykład: - a = [1,2,3] - b = a - b.append(4) # a jest teraz [1,2,3,4] - c = a.copy(); c.append(5) # a pozostaje [1,2,3,4], c jest [1,2,3,4,5] ## Konwersja z innych typów danych - Z tekstu na listę: `list("ACGTTAGC")` → rozpakowuje znaki. - Ze stringu za pomocą `split()`: `data = "Jan,25,Praha"; parts = data.split(",")` → ["Jan","25","Praha"]