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.