[pyar] Crear una lista gigante
Alejandro Santos
listas en alejolp.com
Sab Jun 5 23:29:11 ART 2010
Jesús Francisco wrote:
> ¿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?
Crear e inicializar un array o lista de N elemento siempre va a ser O(N)
de una forma u otra. Capaz puedas bajar cuánto afectan las constantes
pero... siempre vas a tener que procesar esos N elementos.
¿en que contexto estás haciendo esa inicialización?
Te pregunto porque a veces se puede crear ese array/lista una sola vez,
mantenerlo en memoria y reusarlo varias veces; esa suele ser una buena
optimizacion para hacerle a los algoritmos que requieren matrices en
memoria.
Saludos,
--
Alejandro Santos
http://www.alejolp.com.ar
More information about the pyar
mailing list