StudyFiWiki
WikiWebová aplikace
StudyFi

AI studijní materiály pro každého studenta. Shrnutí, kartičky, testy, podcasty a myšlenkové mapy.

Studijní materiály

  • Wiki
  • Webová aplikace
  • Registrace zdarma
  • O StudyFi

Právní informace

  • Obchodní podmínky
  • GDPR
  • Kontakt
Stáhnout na
App Store
Stáhnout na
Google Play
© 2026 StudyFi s.r.o.Vytvořeno s AI pro studenty
Wiki💻 Informatika a počítačové vědyFunkce a seznamy v PythonuShrnutí

Shrnutí na Funkce a seznamy v Pythonu

Funkce a Seznamy v Pythonu: Kompletní Průvodce pro Studenty

ShrnutíTest znalostíKartičkyPodcastMyšlenková mapa

Úvod

Python seznamy (list) jsou základní a velmi užitečná datová struktura pro ukládání uspořádaných kolekcí hodnot. Tento materiál vás provede vytvářením seznamů, základní manipulací, běžnými metodami a praktickými příklady použití v reálných úlohách.

Seznam (list) je uspořádaná, indexovatelná a mutable kolekce, která může obsahovat různé datové typy včetně dalších seznamů.

Základy seznamů

Vytvoření seznamu

  • Přímé přiřazení: numbers = [1, 2, 3, 4, 5]
  • Prázdný seznam a postupné přidávání:
    • measurements = []
    • measurements.append(36.5)

Indexování a slicing

  • Indexování začíná na 0. Přístup k prvkům: patients[0], patients[-1] (poslední prvek).
  • Slicing vybírá podsekvence: patients[1:4] (indexy 1,2,3), patients[:3], patients[2:].
  • Kroky ve slice: patients[::2] (každý druhý), patients[::-1] (pozpátku).

Praktický příklad:

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

Pamatuj: u seznamů můžeš měnit prvky přes index; u řetězců to nejde (řetězce jsou immutable).

Operace se seznamy

Spojování a opakování

  • Spojení: all_patients = group_a + group_b
  • Opakování: week_data = [0] * 7

Kontrola obsahu

  • in, not in pro testování přítomnosti: if "Jan Novák" in patients:

Porovnávání seznamů

  • Porovnává se pořadí i hodnoty: [1,2,3] == [1,2,3] → True, [1,2,3] == [3,2,1] → False

Práce s více seznamy současně

enumerate()

  • Elegantní způsob, jak získat index i hodnotu:
    • for i, patient in enumerate(patients, start=1): print(f"{i}. {patient}")

zip()

  • Pro paralelní průchod dvěma (nebo více) seznamy:
    • for name, temp in zip(names, temperatures): print(f"{name}: {temp}°C")

Metody pro přidávání prvků

  • append(x) – přidá jediný prvek na konec: patients.append("Petr").
  • extend(iterable) – rozbalí iterovatelný objekt a přidá jeho prvky: patients.extend(["Petr","Anna"]).
  • insert(index, x) – vloží prvek na konkrétní pozici: patients.insert(1, "Anna").

Pozor: append(["Petr","Anna"]) přidá celý seznam jako jeden prvek (vnořený seznam).

Metody pro odebírání prvků

  • remove(x) – odebere první výskyt hodnoty x. Pokud neexistuje, vyhodí ValueError.
    • Bezpečnostní vzor: if x in patients: patients.remove(x).
  • pop([index]) – odebere a vrátí prvek na indexu, výchozí je poslední prvek.
    • last = patients.pop()
    • first = patients.pop(0)

Další užitečné metody

  • index(x) – vrátí index prvního výskytu x.
  • count(x) – spočítá výskyty x.
  • sort() – seřadí seznam in-place (mění původní seznam). Nemá návratovou hodnotu (vrací None).
  • sorted(list) – vrátí nový seřazený seznam, původní nezměněn.

Tabulka: Porovnání sort() vs sorted()

Vlastnostlist.sort()sorted(list)
Mění původní seznamAnoNe
Vrací nový seznamNeAno
PoužitíKdyž nepotřebujete původníKdyž chceš zachovat původní

Kopie seznamu a reference

  • Přiřazení b = a vytvoří druhý název pro stejný objekt (sdílená reference).
  • Pro skutečnou kopii použij a.copy() nebo a[:].

Příklad:

  • a = [1,2,3]
  • b = a
  • b.append(4) # a je nyní [1,2,3,4]
  • c = a.copy(); c.append(5) # a zůstane [1,2,3,4], c je [1,2,3,4,5]

Převod z jiných datových typů

  • Z textu na seznam: list("ACGTTAGC") → rozbalí znaky.
  • Ze stringu pomocí split(): data = "Jan,25,Praha"; parts = data.split(",") → ["Jan","25","Praha"]
Zaregistruj se pro celé shrnutí
KartičkyTest znalostíShrnutíPodcastMyšlenková mapa
Začni zdarma

Už máš účet? Přihlásit se

Python Seznamy a Operace

Klíčová slova: Python

Klíčové pojmy: Seznam je mutable, indexovatelný a uspořádaný, Vytvoření: [] nebo [a,b,c]; prázdný a postupné append(), Indexování začíná od 0; slicing: start:stop:step, append() přidá prvek; extend() rozbalí iterabilní objekt, insert(i,x) vloží prvek na index i, remove(x) odebere první výskyt; pop([i]) vrátí a odebere prvek, list.sort() mění seznam in-place; sorted(list) vrací nový seznam, b = a je reference; použij a.copy() nebo a[:] pro kopii, enumerate() vrací index a hodnotu; zip() pro paralelní průchod, split() převádí řetězec na seznam podle separátoru, Kontrola obsahu pomocí in a not in, sort() nevrací hodnotu (None) — nekombinovat s přiřazením

## Úvod Python seznamy (list) jsou základní a velmi užitečná datová struktura pro ukládání uspořádaných kolekcí hodnot. Tento materiál vás provede vytvářením seznamů, základní manipulací, běžnými metodami a praktickými příklady použití v reálných úlohách. > Seznam (list) je uspořádaná, indexovatelná a mutable kolekce, která může obsahovat různé datové typy včetně dalších seznamů. ## Základy seznamů ### Vytvoření seznamu - Přímé přiřazení: `numbers = [1, 2, 3, 4, 5]` - Prázdný seznam a postupné přidávání: - `measurements = []` - `measurements.append(36.5)` ### Indexování a slicing - Indexování začíná na 0. Přístup k prvkům: `patients[0]`, `patients[-1]` (poslední prvek). - Slicing vybírá podsekvence: `patients[1:4]` (indexy 1,2,3), `patients[:3]`, `patients[2:]`. - Kroky ve slice: `patients[::2]` (každý druhý), `patients[::-1]` (pozpátku). Praktický příklad: - patients = ["Jan", "Marie", "Petr", "Anna", "Tomáš"] - `patients[0]` → "Jan" - `patients[-1]` → "Tomáš" - `patients[1:4]` → ["Marie", "Petr", "Anna"] > Pamatuj: u seznamů můžeš měnit prvky přes index; u řetězců to nejde (řetězce jsou immutable). ## Operace se seznamy ### Spojování a opakování - Spojení: `all_patients = group_a + group_b` - Opakování: `week_data = [0] * 7` ### Kontrola obsahu - `in`, `not in` pro testování přítomnosti: `if "Jan Novák" in patients:` ### Porovnávání seznamů - Porovnává se pořadí i hodnoty: `[1,2,3] == [1,2,3]` → True, `[1,2,3] == [3,2,1]` → False ## Práce s více seznamy současně ### enumerate() - Elegantní způsob, jak získat index i hodnotu: - `for i, patient in enumerate(patients, start=1): print(f"{i}. {patient}")` ### zip() - Pro paralelní průchod dvěma (nebo více) seznamy: - `for name, temp in zip(names, temperatures): print(f"{name}: {temp}°C")` ## Metody pro přidávání prvků - `append(x)` – přidá jediný prvek na konec: `patients.append("Petr")`. - `extend(iterable)` – rozbalí iterovatelný objekt a přidá jeho prvky: `patients.extend(["Petr","Anna"])`. - `insert(index, x)` – vloží prvek na konkrétní pozici: `patients.insert(1, "Anna")`. Pozor: `append(["Petr","Anna"])` přidá celý seznam jako jeden prvek (vnořený seznam). ## Metody pro odebírání prvků - `remove(x)` – odebere první výskyt hodnoty `x`. Pokud neexistuje, vyhodí `ValueError`. - Bezpečnostní vzor: `if x in patients: patients.remove(x)`. - `pop([index])` – odebere a vrátí prvek na indexu, výchozí je poslední prvek. - `last = patients.pop()` - `first = patients.pop(0)` ### Další užitečné metody - `index(x)` – vrátí index prvního výskytu `x`. - `count(x)` – spočítá výskyty `x`. - `sort()` – seřadí seznam in-place (mění původní seznam). Nemá návratovou hodnotu (vrací `None`). - `sorted(list)` – vrátí nový seřazený seznam, původní nezměněn. Tabulka: Porovnání sort() vs sorted() | Vlastnost | list.sort() | sorted(list) | |---|---:|---:| | Mění původní seznam | Ano | Ne | | Vrací nový seznam | Ne | Ano | | Použití | Když nepotřebujete původní | Když chceš zachovat původní | ## Kopie seznamu a reference - Přiřazení `b = a` vytvoří druhý název pro stejný objekt (sdílená reference). - Pro skutečnou kopii použij `a.copy()` nebo `a[:]`. Příklad: - a = [1,2,3] - b = a - b.append(4) # a je nyní [1,2,3,4] - c = a.copy(); c.append(5) # a zůstane [1,2,3,4], c je [1,2,3,4,5] ## Převod z jiných datových typů - Z textu na seznam: `list("ACGTTAGC")` → rozbalí znaky. - Ze stringu pomocí `split()`: `data = "Jan,25,Praha"; parts = data.split(",")` → ["Jan","25","Praha"]

Další materiály

ShrnutíTest znalostíKartičkyPodcastMyšlenková mapa
← Zpět na téma