[pyar] Crear una lista gigante

Mariano Guerra luismarianoguerra en gmail.com
Sab Jun 5 19:58:00 ART 2010


2010/6/5 Jesús Francisco <jgomo3 en gmail.com>:
> ¿cómo es la forma más rápida en Python de crear una lista de N
> elementos y todos inicializados en un valor x? Una forma es:
>
> [x]*N
>
> Pero me gustaría algo tan rápido como el calloc de C en el caso x==0.
> Esto porque la versión que escribí es O(N) y si no me equivoco calloc
> es O(1). No puedo usar numpy, solo la Biblioteca estándar de Python.
> ¿es lo que escribí la forma más rápida?

tu forma parece ser la mas rapida de las 3 que probe

mariano en ganesha:~$ python -m timeit -n 10000 "list(1 for i in xrange(1000))"
10000 loops, best of 3: 134 usec per loop
mariano en ganesha:~$ python -m timeit -n 10000 "[1]*1000"
10000 loops, best of 3: 8.41 usec per loop
mariano en ganesha:~$ python -m timeit -n 10000 "[1 for i in xrange(1000)]"
10000 loops, best of 3: 77.3 usec per loop

alguna otra para probar?



More information about the pyar mailing list