@@ -17,7 +17,7 @@ Spousta těchto typů umí něco navíc: zjistit jestli obsahují nějaký prvek
1717(` 'abc'.upper() ` ).
1818Nic z toho ale není potřeba, aby byl objekt iterovatelný.
1919
20- Podívejme se na dva dalších iterovatelné objekty: ` enumerate ` a ` zip ` .
20+ Podívejme se na dva další iterovatelné objekty: ` enumerate ` a ` zip ` .
2121
2222
2323## Enumerate: očíslování sekvence
@@ -61,18 +61,20 @@ jejíž prvky jsou dvojice.
6161
6262## Rozbalování v cyklu for
6363
64- „Trpasličí“ cyklus se dá rozepsat takto:
64+ Cyklus ` for ` umíme rozepsat: opakuje se v něm nastavení proměnné (které dělá
65+ ` for ` za tebe), pak tělo cyklu, a znovu nastavení proměnné, tělo cyklu, atd.
66+ Pro „trpasličí“ cyklus to je:
6567
6668``` python
67- dvojice = 0 , ' Prófa' # toto dělá `for`
69+ dvojice = 0 , ' Prófa' # nastavení proměnné dělá `for`
6870index, trpaslik = dvojice
6971print (f ' Na pozici { index} je { trpaslik} ! ' )
7072
71- dvojice = 1 , ' Stydlín' # toto dělá `for`
73+ dvojice = 1 , ' Stydlín' # nastavení proměnné dělá `for`
7274index, trpaslik = dvojice
7375print (f ' Na pozici { index} je { trpaslik} ! ' )
7476
75- dvojice = 2 , ' Dřímal' # toto dělá `for`
77+ dvojice = 2 , ' Dřímal' # nastavení proměnné dělá `for`
7678index, trpaslik = dvojice
7779print (f ' Na pozici { index} je { trpaslik} ! ' )
7880
@@ -83,13 +85,13 @@ Kdybys to psal{{a}} ručně, lze to zjednodušit – přiřadit do dvou proměnn
8385najedno, bez pomocné ` dvojice ` :
8486
8587``` python
86- index, trpaslik = 0 , ' Prófa' # toto by mohl dělat `for`
88+ index, trpaslik = 0 , ' Prófa' # nastavení proměnných
8789print (f ' Na pozici { index} je { trpaslik} ! ' )
8890
89- index, trpaslik = 1 , ' Stydlín' # toto by mohl dělat `for`
91+ index, trpaslik = 1 , ' Stydlín' # nastavení proměnných
9092print (f ' Na pozici { index} je { trpaslik} ! ' )
9193
92- index, trpaslik = 2 , ' Dřímal' # toto by mohl dělat `for`
94+ index, trpaslik = 2 , ' Dřímal' # nastavení proměnných
9395print (f ' Na pozici { index} je { trpaslik} ! ' )
9496
9597# A tak dále
@@ -134,7 +136,8 @@ for index, den in enumerate(dny):
134136 print (f ' { cislo} . { den} ' )
135137```
136138
137- To je trošku kostrbaté, ale dá se to zjednodušit: funkce ` enumerate ` zná
139+ To je trošku kostrbaté, ale dá se to zjednodušit: buď jako
140+ ` f'{cislo + 1}. {den}' ` , nebo můžeš funkci ` enumerate ` předat
138141pojmenovaný argument ` start ` , pomocí kterého umí sama
139142počítat od jiného začátku než od nuly:
140143
@@ -162,9 +165,9 @@ Kdtyž tyto dva seznamy dáš funkci `zip`, dostaneš iterátor který příslu
162165hodnoty spáruje.
163166Bude tedy obsahovat:
164167
165- * Dvojici prvních prvků obou seznamů
166- * Dvojici druhých prvků obou seznamů
167- * Dvojici třetích prvků obou seznamů
168+ * Dvojici prvních prvků obou seznamů: ( ` tráva ` , ` zelená ` )
169+ * Dvojici druhých prvků obou seznamů: ( ` slunce ` , ` žluté ` )
170+ * Dvojici třetích prvků obou seznamů: ( ` mrkev ` , ` oranžová ` )
168171* ...
169172
170173``` python
@@ -190,10 +193,17 @@ Když si ale vypíšeš samotný objekt `zip`, zjistíš že o sobě nic moc ne
190193– podobně jako ` enumerate ` :
191194
192195``` pycon
193- >>> zip (veci, barvy, mista, cisla)
196+ >>> zip (veci, barvy, cisla)
194197<zip object at 0x7f0db61b1f48>
195198```
196199
200+ Po převedení na seznam se ale seznam <var >n</var >-tic „ukáže”:
201+
202+ ``` pycon
203+ >>> list (zip (veci, barvy, cisla))
204+ [('tráva', 'zelená', 0), ('slunce', 'žluté', 1), ('mrkev', 'oranžová', 2), ('řeka', 'modrá', 3)]
205+ ```
206+
197207
198208## Zip Longest: Pro ty co chtějí všechno
199209
0 commit comments