Tengo una lista de datos que tiene el siguiente aspecto:Almacenamiento y actualización de listas en diccionarios Python: ¿por qué sucede esto?
// timestep,x_position,y_position
0,4,7
0,2,7
0,9,5
0,6,7
1,2,5
1,4,7
1,9,0
1,6,8
... y quiero hacer este aspecto:
0, (4,7), (2,7), (9,5), (6,7)
1, (2,5), (4,7), (9,0), (6.8)
Mi plan era usar un diccionario, donde el el valor de t es la clave del diccionario, y el valor en contra de la clave sería una lista. Podría agregar cada uno (x, y) a la lista. Algo como:
# where t = 0, c = (4,7), d = {}
# code 1
d[t].append(c)
Ahora esto hace que el IDLE falle. Sin embargo, si lo hago:
# code 2
d[t] = []
d[t].append(c)
... esto funciona.
Entonces la pregunta es: ¿por qué funciona el código 2, pero el código 1 no?
PD Cualquier mejora en lo que planeo hacer sería de gran interés !! Creo que tendré que revisar el diccionario en cada ciclo a través de la entrada para ver si la clave del diccionario ya existe, supongo que usando algo como max (d.keys()): si está allí, anexar datos, si no crear la lista vacía como el valor del diccionario, y luego anexar datos en el siguiente ciclo. mirada
No muy significativo. Por favor ingrese el mensaje de error real. –