[python] Modifikace seznamu bez kopirovnani (bylo SQLite - forma selectovaných dat)

Petr Prikryl PrikrylP na skil.cz
Pondělí Leden 8 11:16:41 CET 2007


superman
> [...]
> Mě osobně by zajímal rychlostní rozdíl mezi použitím range a xrange.

Ten je asi takový jako rozdíl mezi zkonstruováním pomocného
seznamu a následnou iterací přes jeho prvky (range) a přičítáním
jedničky + testem na koncovou hodnotu (xrange). 

Časový rozdíl nemusí být výrazný, protože i velmi velké seznamy
čísel typu integer asi Python vygeneruje rychle. Ale zbytečně
se alokuje a dealokuje prostor pro pomocný seznam.

Od Python 3000 se ale range stane xrange a xrange bude 
odstraněno. Předjímám námitku, že "používám range, protože
v budoucnu nebude nutné zasahovat do zdrojových textů
a nahrazovat xrange slovem range", ale nesouhlasím s ní ;-)

pepr


Další informace o konferenci Python