[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