> Drobná chybička, která ale může ovlivňovat výsledek.
> Iterátor vracený funkcí enumerate() vrací dvojice (index, 
> hodnota) a ne (hodnota, index).

děkuji
for v,i in enumerate(l1):
    l1[i]=v+1
6.51600003242

> Je jasné, že použití enumerate bude pomalejší, než použití 
> xrange(), protože se musí konstruovat navíc ta dvojice a 
> navíc se pak musí rozdělávat na i, v.
ano to vím

Pokud by však platila teze, že čtení prvku seznamu pomocí indexu je pro
velké seznamy pomalé, tak by varianta s enumerate mohla být rychlejší.
Důvodem je to, že získává další hodnotu načtením následujícího prvku v
seznamu (rychlá operace) namísto pomalého přístupu přes index.
Test však ukázal, že uvedená tese neplatí, takže pythovský list() asi není
obyčejný obousměrně svázaný seznam.

Jan Matějka
 

_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem