Если у меня есть массив NumPy
[[ 0 -2 -4 -6]
[-2 -3 -5 -7]
[-4 0 -2 -4]
[-6 -2 -3 -5]]
Как мне посетить каждый из элементов этого массива NUMPY, известный как mymatrix, строка за строкой , такой что mymatrix[x][y]=the element that is traversed
, так чтонапример, я получу 0,-2,-4,-6,-2,-3,-5,-7,-4,0,-2,-4,-6,-2
и так далее, если массив будет проходить через двойной цикл for
EDIT:
Когда я следую методу double for loopниже, это то, что я получаю
for row in range(scorematrix.shape[0]):
for col in range(scorematrix.shape[1]):
final=[]
if row==0 and col==0:
scorematrix[row][col]=0
continue
elif row==0:
scorematrix[row][col]=col+(col*-3)
continue
elif col==0:
scorematrix[row][col]=row+(row*-3)
continue
elif seq1[row]=="A" and seq2[col]=="A":
result=4
elif seq1[row]=="C" and seq2[col]=="C":
result=3
elif seq1[row]=="G" and seq2[col]=="G":
result=2
elif seq1[row]=="T" and seq2[col]=="T":
result=1
elif seq1[row]!=seq2[col]:
result=-3
print(scorematrix)
firstelement=result+scorematrix[row-1,col-1]
final.append(firstelement)
secondelement=scorematrix[row-1,col]-2
final.append(secondelement)
thirdelement=scorematrix[row,col-1]-2
final.append(thirdelement)
themax=max(final)
index=[k for k, j in enumerate(final) if j == themax]
listofc.append(index)
scorematrix[row][col]=themax
основные биты, необходимые для моего вопроса, - это первые две строки и последняя строка, остальные - только некоторые вычисления.Матрица, которую я хочу вывести: [[ 0 -2 -4 -6]
[-2 -3 -5 -7]
[-4 0 -2 -4]
[-6 -2 -3 -5]]
Но полученная мной матрица
[[ 0 -2 -4 -6]
[-2 -3 0 -2]
[-4 -5 -2 -3]
[-6 -7 -4 -5]]
Если игнорировать строки и столбцы с помощью 0,-2,-4,-6
,Вы можете видеть, что то, что ДОЛЖНО быть первой строкой, было введено в качестве первого столбца и т. д.
Как мне исправить это?