Necesito recorrer una lista de listas que tengo almacenada en memoria la cual almacena una matriz formada de esta menara:
0
2 0
0 2 0
0 0 2 0
0 0 0 3 0
0 3 0 0 1 0
.
.
.
etc.
Necesito guardar en otra lista los valores diferentes de 0 y el indice.
Para recorrerla por columnas no tengo problema lo que hago es decirle por cual quiero empezar y recorrerla, lo he echo de esta manera.
Código Python:
Ver original
def expandir(matrizCostes,C_lista): j=0 Lista_costes=[] Lista_nodos=[] #Lista_nodos=[10,20,45,10] print "C_lista:", C_lista nodo_inicio=C_lista-1 # Ponemos -1 porque la matriz empieza en la posicion 0 for i in matrizCostes[nodo_inicio]: #Recorremos la matriz de costes, nodo incio es el nodo en el que estamos if i!=0: Lista_costes.append(i) Lista_nodos.append([j+1,C_lista]) print "La lista de nodos es",Lista_nodos #if eliminarCiclos(Lista_nodos)==0: #REVISAR ESTA PARTE DE AQUI, COMPRAOVAR QUE VERDADERAMENTE FUNCIONA # del Lista_nodos[1] j=j+1 print "\n\nLa lista de costes es: ", Lista_costes print "\n\nLa lista de nodos es: ", Lista_nodos
Lo que quiero una vez echo esto es recorrerla en vertical, pero desde el punto en el que estoy.
Por ejemplo si estoy en el nodo 4
1 2 3 4 5 6
1 0
2 0 2
3 0 0 3
4 0 0 1 2
5 2 0 0 1 0
6 0 0 0 2 0 0
primero recorreré esto
1 2 3 4
4 0 0 1 2
cosa que ya tengo echo, y luego recorreré esto
1 2 3 4
4 2
5 1
6 0
Un saludo