[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