Eis a solução da primeira parte do seu problema: (O jeito que você estava escrevendo o código não funciona na linha de raciocínio do Python) matriz = [[0,9,0,0,14,15,0],[0,0,23,0,0,0,0,0],[0,0,0,0,2,0,0,19],[0,0,6,0,0,0,0,6],[0,0,0,11,0,0,0,16],[0,0,18,0,30,0,5,0],[0,0,0,0,20,0,0,44],[0,0,0,0,0,0,0,0]]
i=0
for vetor in matriz:
j=0
for elemento in vetor:
if elemento == 0 and i != j:
matriz[i][j] = 'I' #O "I" simboliza o seu infinito, só pra efeito teórico mesmo
j = j + 1
i = i + 1
#Esse comando abaixo é só pra você conferir que a substituição foi feita corretamente
for vetor in matriz:
print vetor Se não entender alguma coisa é só perguntar que eu explico. Quanto à segunda parte, que você insere 3 "for" com i, j e k, eu não entendi o que você quer. Se você explicar talvez eu consiga achar uma solução.