Python - Seznamy, n-tice, slovníky, řetězce a iterátory: Porovnání verzí
Bez shrnutí editace |
|||
Řádek 4: | Řádek 4: | ||
== Seznamy a n-tice == | == Seznamy a n-tice == | ||
Jednoduchý seznam v Pythonu vytvoříme například takto | |||
ptaci = [ "sokol", "krahujec", "koroptev", "lelek" ] | |||
počet prvků seznamu určuje funkce <tt>len(),</tt> k jednotlivým prvkům seznamu můžeme přistupovat přes indexy; indexem prvního prvku je 0, poselední prvek z našeho příkladu má index 3, resp. <tt>len(ptaci)-1.</tt> Cyklus | |||
for i in range(len(ptaci)): | |||
print ptaci[i] | |||
vytiskne všechny ptáky z naše seznamu. | |||
Jistou zvláštností Pythonu je, že povoluje i záporné indexy, kde <tt>ptaci[-1]</tt> je poslední prvek seznamu, v nešem případě tedy <tt>"lelek"</tt>. Záporný index <tt>-n</tt> je v neprázdném seznamu definován jako výraz <tt>seznam[len(seznam)-n]</tt>. | |||
Kromě jednotlivých prvků seznamu, můžeme indexovat i výřezy (slicing), například výraz <tt>ptaci[1:3]</tt> označuje podseznam <tt>["krahujec", "koroptev"]</tt>. Výřezy fungují i pro záporné indexy. Indexy na začátek, resp. konec seznamu lze vynechat a můžeme proto psát <tt>ptaci[:3]</tt> pro výřez <tt>["sokol", "krahujec", "koroptev"]</tt>, resp. <tt>ptaci[2:]</tt> | |||
pro výřez <tt>["koroptev", "lelek"]</tt>. Vynecháním obou indexů <tt>ptaci[:]</tt> získáme výraz, který označuje celý seznam. | |||
Hodnoty prvků seznamu můžeme měnit přiřazením, například | |||
ptaci[2] = "vrabec" | |||
seznamy můžeme rozšiřovat anebo rušit jejich prvky. Jazyk Python kromě seznamů poskytují i tzv. n-tice (tuples), které se od seznamů liší tím, nemohou být po vytvoření měněny. N-tice vytváříme jako seznamy uzavřené do oblých závorek | |||
tyden = ("pondeli", "utery", "streda", "ctvrtek", | |||
"patek", "sobota", "nedele" ) | |||
Jména dní v týdnů se nemění, jejich seznam je konstatní a v programu je obvykle budeme deklarovat jako n-tici. Při pokusu o změnu n-tice dojde za běhu programu k chybě. | |||
== Slovníky == | == Slovníky == |
Verze z 3. 12. 2005, 17:33
Součástí jazyka Python jsou kontejnery, které slouží pro ukládání různých objektů. S kontejnery úzce souvisí objekty, kterým říkáme iterátory. Standardní kontejnery Pythonu jsou seznamy (lists), n-tice (tuples), slovníky (dictionaries) a řetězce (strings).
Seznamy a n-tice
Jednoduchý seznam v Pythonu vytvoříme například takto
ptaci = [ "sokol", "krahujec", "koroptev", "lelek" ]
počet prvků seznamu určuje funkce len(), k jednotlivým prvkům seznamu můžeme přistupovat přes indexy; indexem prvního prvku je 0, poselední prvek z našeho příkladu má index 3, resp. len(ptaci)-1. Cyklus
for i in range(len(ptaci)): print ptaci[i]
vytiskne všechny ptáky z naše seznamu.
Jistou zvláštností Pythonu je, že povoluje i záporné indexy, kde ptaci[-1] je poslední prvek seznamu, v nešem případě tedy "lelek". Záporný index -n je v neprázdném seznamu definován jako výraz seznam[len(seznam)-n].
Kromě jednotlivých prvků seznamu, můžeme indexovat i výřezy (slicing), například výraz ptaci[1:3] označuje podseznam ["krahujec", "koroptev"]. Výřezy fungují i pro záporné indexy. Indexy na začátek, resp. konec seznamu lze vynechat a můžeme proto psát ptaci[:3] pro výřez ["sokol", "krahujec", "koroptev"], resp. ptaci[2:] pro výřez ["koroptev", "lelek"]. Vynecháním obou indexů ptaci[:] získáme výraz, který označuje celý seznam.
Hodnoty prvků seznamu můžeme měnit přiřazením, například
ptaci[2] = "vrabec"
seznamy můžeme rozšiřovat anebo rušit jejich prvky. Jazyk Python kromě seznamů poskytují i tzv. n-tice (tuples), které se od seznamů liší tím, nemohou být po vytvoření měněny. N-tice vytváříme jako seznamy uzavřené do oblých závorek
tyden = ("pondeli", "utery", "streda", "ctvrtek", "patek", "sobota", "nedele" )
Jména dní v týdnů se nemění, jejich seznam je konstatní a v programu je obvykle budeme deklarovat jako n-tici. Při pokusu o změnu n-tice dojde za běhu programu k chybě.