RE: [python] dotaz-mřížka

Petr Prikryl Prikryl na skil.cz
Čtvrtek Únor 17 15:08:42 CET 2005


Pavel Kosina napsal...
> Petr Prikryl napsal(a):
> > xrange() je v pohodě jak pro malé, tak pro 
> > velké rozsahy. Děsí tě to x na začátku?
> > (Nedělám si legraci, chci si ujasnit, co lidem
> > připadá intuitivnější.)
> 
> nevím, možná je to jen víra ;-), ale taky jsem si dělal
> přibližnou statistiku výskytů v python23 a range zvítězilo.
> Nevím kolik přesně, jen tak odhadem jsem to zkouknul. Range
> je takové všeobecnější, zřejmější a já osobně málokdy jsem
> skutečně potřeboval xrange. Ale to je v pohodě, žádná flame
> war proti xrange...

Možná je to tím, že range bude starší. Rozhodně to ale bude
méně efektivní, protože se generuje seznam. To znamená, že
to taky zabírá místo v paměti. V uvedeném příkladě se tedy
vygeneruje 101 seznamů o 10 prvcích. Postupně se možná 99
seznamů zase uvolňuje (možná ještě v rámci těch dvou
zanořených cyklů) -- chvíli to asi potrvá. Pokud se použije
xrange, pak se místo každého seznamu použije objekt o
velikosti nezávislé na rozsahu. Rozdíl v paměťové náročnosti
bude přibližně takový, jako rozdíl mezi seznamem o dané
velikosti a jednou celočíselnou proměnnou. Výkon se bude
lišit zhruba v poměru operace zpřístupnění dalšího prvku
seznamu vůči zvětšení čísla o jedničku. (Jsou to jen odhady.
Konkrétní implementaci jsem nezkoumal).

> >>"bublinová nápověda"). Vždy tam byly paznaky...
> > 
> chyba byla že jsem dokumentační nedával jako unicode. 
> Jinými slovy to funguje skvěle.

A jaké prostředí, které ukazuje ty bubliny, používáš?

> > Upravil jsem to trochu podle Style guide, ale 
> > ne vše.
> 
> Style guide?

http://www.python.org/peps/pep-0008.html

> Jo a co ty školičky? Co tím myslíš?

To byl jen nápad. Pokud se někde shromažďují ukázkové
příklady, pak by se to po vhodném doplnění komentářů nebo 
nějakého popisu dalo zařadit mezi ně.

Petr

-- 
Petr Prikryl (prikrylp at skil dot cz) 



Další informace o konferenci Python