Nadřazené | Datové typy a jejich využití |
Předcházející | Cyklus for v Pythonu |
Navazující | Slovníky v Pythonu |
Seznam (list
) je uspořádaná kolekce hodnot libovolného typu.
Vytvoření seznamu
Seznamy zapisujeme pomocí hranatých závorek:
Seznam můžeme také vytvořit pomocí klíčového slova list
.
Indexování
K jednotlivým prvkům seznamu přistupujeme pomocí indexování hranatými závorkami. Pozor, indexujeme od nuly. Zápornými čísly můžeme indexovat odzadu:
s = ["pes", "prase", "ovce", "koza"]
s[0] # první prvek seznamu => "pes"
s[1] # druhý prvek seznamu => "prase"
s[-1] # poslední prvek seznamu => "koza"
s[-2] # předposlední prvek seznamu => "ovce"
Pomocí dvojtečky můžeme indexovat část seznamu:
numbers = [37, 99, 42, 7, 13, 1, 1000]
print(numbers[2:5]) # => [42, 7, 13]
print(numbers[:3]) # => [37, 99, 42]
print(numbers[-2:]) # => [1, 1000]
Operace se seznamy
Užitečné funkce se seznamy:
s = [8, 3, 45]
a = len(s) # délka seznamu
s.append(7) # přidání prvku do seznamu
s.sort() # seřazení prvků v seznamu
t = sorted(s) # seřadí prvky v s a tento nový seznam přiřadí do t
# s se nezmění
Všimněte si, že zde využíváme takzvanou tečkovou notaci: píšeme s.sort()
, nikoliv běžné volání funkce tvaru sort(s)
. To souvisí s tím, že seznamy jsou reprezentovány jako objekty.
Seznamy a for cyklus
Pomocí for
cyklu můžeme procházet prvky seznamu:
Alternativně můžeme procházet prvky seznamu takto (tento zápis je bližší tomu, jak procházíme seznamy v jiných programovacích jazycích):

Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.

Seznamy v Pythonu (lehké)
67 zadání
Typicky zabere: 6 min
Ukázka
Pravda nebo nepravda?len([42]) == 42
Co vypíše program?mylist = [1, 375, 48]
print(len(mylist))
Co vypíše program?name_list = ["Jana", "Pavel", "Martin"]
for i in range(len(name_list)):
print(name_list[len(name_list)-i-1])

Seznamy v Pythonu (střední)
85 zadání
Typicky zabere: 8 min
Ukázka
Dojde k chybě?a = [14, 15]
a[1][1] = 0
Najděte jedničku:a = [[0, 0], [1, 0]]
Pravda nebo nepravda?[10, 20] + [1, 2] == [11, 22]

Seznamy v Pythonu (těžké)
81 zadání
Typicky zabere: 14 min
Ukázka
Zjednodušte program:for i in range(len(a)):
print(a[i])
Zacyklí se program?a = [1, 2, 3]
for x in a:
a.append(x)
Určete hodnotu seznamu a
:a = [7, 1, 8]
b = a.copy()
b[0] = 0

Psaná odpověď
Cvičení, ve kterém píšete odpověď na klávesnici.

Seznamy v Pythonu (střední)
21 zadání
Typicky zabere: 4 min
Ukázka
mylist = ['x', 'a', 'c', 'e', 'y']
print(mylist[1])
mylist = [[8, 3], [4, 5]]
print(len(mylist))
mylist = [1, 2, 4]
print(mylist[1])

Porozumění
Prohlédněte si vypracované řešení příkladů v Pythonu či ukázkové modely. Pro každý příklad dostanete několik kontrolních otázek, které otestují vaše porozumění problému.
Seznamy v Pythonu
Řešené příklady na práci se seznamy v Pythonu.

Programování v Pythonu
Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu. Cvičení používá programovací jazyk Python 3.
V tomto cvičení píšete programy, které pracují s textem a čísly. Pokud chcete obrázky, zkuste cvičení Python želva.