fulltextové vyhledávání

Kalendář akcí

P Ú S Č P S N
1
Měsíční plán akcí: březen 2021
2
Vývoj milevských kapel FuskyDus a Gangstaska v koronavirové době
3 4 5 6
Já a svět financí podruhé
7
Náš profil na denik.cz
8 9 10
Hlavní body úprav maturit ve školním roce 2020/2021 (březen 2021)
Informace o změně termínů Jednotné přijímací zkoušky v roce 2021
11
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
12
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Soňa a Pavla zopakovaly svůj úspěch v konverzační soutěži v RUJ
13
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
14
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
15
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Esej Já a svět financí potřetí
Hlavní body úprav maturitní zkoušky 2021 (od 10.3.2021) v podmínkách naší školy
16
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Michal v KK Ekonomické olympiády třetí!
17
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Koronavirové hrátky s letošními maturanty
Natálka uspěla v Dějepisné olympiádě i v krajském kole
18
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
19
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
20
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
21
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
22
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Prodloužení omezení provozu škol
Průběh školního kola hry JA Titan (2. část - znovu aktualizováno)
23
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Průběh školního kola hry JA Titan (2. část - znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
24
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Průběh školního kola hry JA Titan (2. část - znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
25
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Průběh školního kola hry JA Titan (2. část - znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
26
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Průběh školního kola hry JA Titan (2. část - znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
27
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
28
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
29
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
Prodloužení omezení provozu školy
Průběh školního kola hry JA Titan (3. část)
30
Školní kolo soutěže Nejlepší JA Titan tým 2021
Velikonoční soutěž v psaní na rychlost (nejen) pro pokročilé
Průběh školního kola hry JA Titan (znovu aktualizováno)
Školní akce v rámci Global Money Week 2021
Prodloužení omezení provozu školy
Průběh školního kola hry JA Titan (3. část)
31
Aktualizace školních webových stránek v březnu 2021
Prodloužení omezení provozu školy
Průběh školního kola hry JA Titan (3. část)
Velikonoční soutěž v psaní na rychlost byla velmi úspěšná
1
Prodloužení omezení provozu školy
Měsíční plán akcí: duben 2021
2
Prodloužení omezení provozu školy
3
Prodloužení omezení provozu školy
4
Prodloužení omezení provozu školy
Drobečková navigace

Úvod > Žáci > On-line výuka > Základy programování > Seznamy

Seznamy

Seznam v jazyku Python je nejobecnější posloupností. Seznamy mohou obsahovat libovolné datové typy (čísla, řetězce, další seznamy). Seznamy:

  •  Jsou posloupnostmi objektů – jsou to místa (kolekce), kam můžeme umísťovat další prvky. Jsou to kolekce s definovaným pořadím prvků – posloupnosti.
  •  Umožňují přístup k prvkům přes pořadí – patří mezi posloupnosti, takže mají definované pořadí prvků.
  •  Mohou být heterogenní, vnořené a mohou mít proměnlivou délku.
  •  Jsou nekonstantními posloupnostmi, takže můžeme volně přidávat a odebírat prvky.
  •  Jsou referencí na objekty.

Operace se seznamy

Zápis konstanty či operace

Význam

L1 = []

Prázdný seznam

L2 = [0, -1, 3, 5]

Seznam o čtyřech prvcích

L3 = ['abc', 3, [2,4,'def']]

Vnořený seznam

L3[1]

Výběr prvku

L2[1:2]

Výběr části

L1 + L2,   L2 * 3

Skládání, opakování

for x in L2:,   3 in L2

Procházení prvky, je 3 prvkem L2

len(L2)

Počet prvků

del L2[2],  del L3[0:2]

Vymazání prvku, části

L2[1] = -1,  L2[1:3] = [2, -1]

Přiřazení prvku, části

list(range(4))

Vrací seznam, obsahující po sobě jdoucí čísla z daného intervalu

min(s)

Minimální hodnota v seznamu s

max(s)

Maximální hodnota v seznamu s

Příklady (výstup z počítače je psán tučně):

délka seznamu:

len([1, 0, -1, 2])

4

sloučení dvou seznamů:

[1, 2] + [0, 4, -4]

[1, 2, 0, 4, -4]

opakování::

['abc', 2] * 3

['abc', 2, 'abc', 2, 'abc', 2]

výpis prvků seznamu:

for x in [0, 2, -2, 4]: print x,

0 2 -2 4

výpis části seznamu:

L1 = [0, 1, 2, -2, 5]

L1[2:5]

[2, -2, 5]

výpis prvku seznamu:

L1[-3]

2

změna prvku seznamu:

L1[1] = -2

L1

[0, -2, 2, -2, 5]

vymazání prvku ze seznamu:

del L1[2]

L1

[-2, -2, 2, 5, 'abc']

Metody seznamů

Metoda je funkce, která se určitým způsobem váže na určitý objekt, při svém zavolání modifikuje pouze tento objekt:

s v metodě je seznam.

Metoda

Význam

list(s)

Konvertuje posloupnost s na seznam

s.append(x)

Přidá prvek na konec seznamu. Tato metoda je ekvivalentní zápisu s[len(a):] = [x]

s.extend(L)

Na konec seznamu s přidá všechny prvky seznamu L; je ekvivalentní zápisu

s[len(a):] = L

s.insert(i,x)

Vloží prvek x na pozici i. Argument i znamená index prvku, před který se má nová položka vložit, tudíž s.insert(0,x) vloží prvek na začátek seznamu, zatímco s.insert(len(a),x) na konec (jde o totéž jako s.append(x)

s.remove(x)

Ze seznamu odstraní daný prvek x, pokud prvků rovných x se v seznamu nachází více, odstraní se první jeho výskyt. Nenajde-li metoda prvek x, dojde k výjimce.

s.pop([i])

Odstraní prvek na pozici i a vrátí jeho hodnotu. Argument i je nepovinný, jeho vynecháním dojde k odstranění posledního prvku seznamu.

s.index(x)

 

Vrátí index prvního prvku seznamu, jehož hodnota je rovna x. Není-li prvek nalezen, dojde k výjimce.

s.count(x)

 

Vrátí počet všech výskytů prvků, jejichž hodnota je rovna x. Není-li nalezen žádný prvek, vrátí nulu.

s.sort()

 

Seřadí prvky seznamu podle velikosti, přičemž modifikuje původní seznam.

s.reverse()

 

Obrací seznam -- první prvek se stane posledním, druhý předposledním atd. Změna se děje opět na původním seznamu.

 

Následují příklady ukazující použití jednotlivých metod seznamu:

vytvoření seznamu z řetězce:

  list('avdb')

  ['a', 'v', 'd', 'b']

počet prvků v seznamu
     a = [66.6, 333, 333, 1, 1234.5]
print(a.count(333), a.count(66.6), a.count('x'))
2 1 0
počet vložení prvku a připojení prvku s seznamu
a.insert(2, -1)
a.append(333)
a
[66.6, 333, -1, 333, 1, 1234.5, 333]
index prvku
a.index(333)
1
vyhledání a odstranění prvku
a.remove(333)
a
[66.6, -1, 333, 1, 1234.5, 333]
Obrácení prvků v seznamu
a.reverse()
a
[333, 1234.5, 1, 333, -1, 66.6]
Setřídění prvků v seznamu
a.sort()
a
[-1, 1, 66.6, 333, 333, 1234.5]

Literatura:

[1] Rubeš, J.: Nebojte se programovat, ComputerMedia, Bedihošť 2001

[2] Lutz, M., Ascher, D.: Naučte se Python, Grada, Praha 2003

[3] Beazley, D. M.: Python, Neocortex, Praha 2002

[4] Python Reference Manual

[5] Švec, J.: Létající cirkus, Python tutoriál, 2003

[6] Švec, J.: Učebnice jazyka Python (aneb Létající cirkus), py.cz, release 2.2, 2002

Úkol:  

  1. Vytvořte seznam z křestních jmen všech dívek vaší třídy.
  2. Seznam uspořádejte vzestupně dle křestních jmen
  3. Vytvořte množinu křestních jmen dívek vaší třídy.
  4. Vypište postupně všechny dvojice, které budou obsahovat křestní jméno z množiny křestních jmen dívek a počet výskytů tohoto křestního jména v seznamu dívek.