Tengo un problema al inicializar una matriz 2D en python. Quiero una matriz 6x6, hiceInicializando matriz 2D en Python
arr = [[None]*6]*6
Pero cuando lo haga:
>>> arr[1][2]=10
>>> arr
[[None, None, 10, None, None, None], [None, None, 10, None, None, None], [None, None, 10, None, None, None], [None, None, 10, None, None, None], [None, None, 10, None, None, None], [None, None, 10, None, None, None]]
Aviso Acabo de crear 1 artículo, y su "replicados" en todas las filas. ¿Qué pasa? Creo que tiene que ver con su referencia a la misma lista, pero ¿cómo puedo solucionar esto?
que pensé
for key, _ in algos.items():
algoData[key] = []
for i in range(0,6):
algoData[key].append([])
for j in range(0,6):
algoData[key][i].append(None)
obras, pero parece mucho a solo inicializar una matriz 6x6 vacío, lo que si quiero una matriz 10000x10000, será muy ineficiente?
ACTUALIZACIÓN
¿Puedo también inicializar un diccionario de matrices 2D? Tengo un diccionario como:
algos = { "FIFO": ..., "LRU": ..., "Random": ... }
Quiero inicializar un diccionario, como a continuación:
algoData = { "FIFO": 2D arr, "LRU": 2D arr, "Random": 2D arr }
Quiero almacenar datos para usar con matplotlib (una trama de superficie 3D) –
En ese caso, definitivamente recomendaría numpy. Se utiliza en [este ejemplo] (http://matplotlib.sourceforge.net/examples/animation/simple_3danim.html), si desea ver una muestra. Ahórrate el trabajo; es un gran paquete. – Cameron
Entonces la línea que necesito será simplemente 'lineData = np.empty ((dims, length))'? –