Crear una lista de diccionarios vacíos
Quiero crear una lista de longitud variable que contenga directorios vacíos.
n = 10 # size of list
foo = []
for _ in range(n)
foo.append({})
¿Harías esto de la misma manera o hay algo así?
a = [{}*n]
Aceptado
¡Lista de comprensiones al rescate!
foo = [{} for _ in range(n)]
Me temo que no existe una notación más corta. En Python 2 usas xrange(n)
en lugar de range(n)
para evitar que se materialice una lista inútil.
La alternativa [{}] * n
crea una lista de longitud n
con un solo diccionario, con n
tiempos de referencia. Esto lleva a sorpresas desagradables al agregar claves al diccionario.