> 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
[email protected]
http://www.py.cz/mailman/listinfo/python