@@ -143,7 +143,7 @@ Všechny udělají změny přímo v daném seznamu a (kromě `pop`) vrací `Non
143143
144144* ` extend() ` přidá více prvků najednou,
145145* ` insert() ` přidá prvek na danou pozici,
146- * ` pop() ` odebere * a vrátí* poslední prvek ,
146+ * ` pop() ` odebere poslední prvek a * vrátí ho * (jako návratovou hodnotu) ,
147147* ` remove() ` odstraní první výskyt daného prvku,
148148* ` sort() ` seznam seřadí (řetězce podle “abecedy”, čísla vzestupně),
149149* ` reverse() ` obrátí pořadí prvků,
@@ -277,12 +277,12 @@ print(seznam)
277277Aby se daly seřadit, musí být prvky seznamu vzájemně
278278* porovnatelné* – konktrétně na ně musí fungovat operátor ` < ` .
279279Seznam s mixem čísel a řetězců tedy seřadit nepůjde.
280- Operátor ` < ` definuje i jak přesně ` sort ` řadí: čísla podle velikosti;
281- řetězce podle speciální „abecedy” která řadí
280+ Operátor ` < ` definuje i jak přesně ` sort ` řadí: čísla vzestupně podle
281+ velikosti; řetězce podle speciální „abecedy” která řadí
282282velká písmena za malá, česká až za anglická, atd.
283283
284- Metoda ` sort ` zná pojmenovaný argument
285- ` reverse ` . Pokud ho nastavíš na * True* , řadí se naopak.
284+ Metoda ` sort ` zná pojmenovaný argument ` reverse ` .
285+ Pokud ho nastavíš na * True* , řadí se naopak – od největšího prvku po nejmenší .
286286
287287``` python
288288seznam = [4 , 7 , 8 , 3 , 5 , 2 , 4 , 8 , 5 ]
@@ -318,7 +318,7 @@ Poslední tři se ale přece jen chovají kapku jinak:
318318u řetězců pracují s * podřetězci* ,
319319u seznamů jen s * jednotlivými* prvky.
320320Takže ačkoliv melodie výše obsahuje prvky
321- ` 'D' ` a ` 'E' ` vedle sebe, ` 'DE' ` v seznamu není:
321+ ` 'D' ` a ` 'E' ` vedle sebe, ` 'DE' ` ani ` ['D', 'E'] ` v seznamu není:
322322
323323``` python
324324print (' DE' in melodie)
@@ -395,7 +395,7 @@ Podobným způsobem získáš seznam seznam `matka`, `babička`, `prababička`,
395395``` python
396396predkove = [' matka' ]
397397for pocet_pra in range (10 ):
398- predkove.append(' pra' * pocet_pra + ' babička' )
398+ predkove.append(( ' pra' * pocet_pra) + ' babička' )
399399print (predkove)
400400```
401401
@@ -405,11 +405,31 @@ zavolej `append` pro všechny kombinace barev a hodnot:
405405``` python
406406balicek = []
407407for barva in ' ♠' , ' ♥' , ' ♦' , ' ♣' :
408- for hodnota in list ( range ( 2 , 11 )) + [ ' J' , ' Q' , ' K' , ' A' ]:
409- balicek.append(str ( hodnota) + barva)
408+ for hodnota in [ ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' , ' 6 ' , ' 7 ' , ' 8 ' , ' 9 ' , ' 10 ' , ' J' , ' Q' , ' K' , ' A' ]:
409+ balicek.append(hodnota + barva)
410410print (balicek)
411411```
412412
413+ > [ note] Jde to líp?
414+ > Psát do programu výčet po sobě jdoucích čísel,
415+ > ` '2', '3', '4', '5', '6', '7', '8', '9', '10' ` ,
416+ > není ideální – na takovou otročinu přece máme počítače!
417+ > Zkus čísla dostat pomocí ` range ` .
418+ > Ale pozor, není to úplně přímočaré:
419+ >
420+ > * Jaké argumenty dáš funkci ` range ` , abys dostal{{a}} čísla od 2 do 10?
421+ > * Funkce ` range ` vrací sekvenci, která ale není seznam.
422+ > Abys ji mohl{{a}} spojit se seznamem ` ['J', 'Q', 'K', 'A'] ` , budeš ji muset
423+ > na seznam převést: ` list(range(...)) `
424+ > * Abys mohl{{a}} čísla z ` range ` připojit k řetězci jako ` ♠ ` , budeš muset
425+ > každou hodnotu před použitím převést na řetězec: ` str(hodnota) ` .
426+ >
427+ > Bonus: Jaký je nejkratší zápis, kterým můžeš zadat seznam
428+ > ` ['J', 'Q', 'K', 'A'] ` ?
429+ >
430+ > Řešení najdeš v textu o kousek níže.
431+
432+
413433## Seznamy a řetězce
414434
415435Seznamy a řetězce jsou druhy * sekvencí* .
@@ -458,9 +478,12 @@ Seznam změní „na místě“ a nic nevrací (podobně jako metoda `sort`).
458478``` python
459479import random
460480
481+ ciselne_hodnoty = list (range (2 , 11 ))
482+ pismenne_hodnoty = list (' JQKA' )
483+
461484balicek = []
462485for barva in ' ♠' , ' ♥' , ' ♦' , ' ♣' :
463- for hodnota in list ( range ( 2 , 11 )) + [ ' J ' , ' Q ' , ' K ' , ' A ' ] :
486+ for hodnota in ciselne_hodnoty + pismenne_hodnoty :
464487 balicek.append(str (hodnota) + barva)
465488print (balicek)
466489
0 commit comments