試圖獲得一個NXN矩陣的所有對角線元素,而無需使用numpy的使用numpy的,一個NXN矩陣的所有對角線元素沒有蟒蛇
這是Get diagonal without using numpy in Python
不同,請不要標記爲重複。
這是我的代碼片斷使用兩次迭代,它將打印從(0,0)到(n,n)的所有對角線元素。有人可以幫助我改進我的迭代過程或任何遞歸方式來做到這一點。
#!/usr/bin/python
matrix = [[1,2,3,4],
[2,3,4,5],
[3,4,5,6],
[4,5,6,7]]
def get_matrix_diagonal(m):
col = len(m)
result = list()
row = 0
for c in range(col):
position = list()
position.append([row,c])
if c > 0:
i = c
while i > 0:
x = i - 1
y = c - i + 1
position.append([y,x])
i -= 1
result.append(position)
row = row + 1
cc = c
for i in range(row,col):
position = list()
y = i
x = c
position.append([y,x])
j = x - y
while j > 0:
y = c - j + 1
x = cc - y + 1
position.append([y,x])
j -= 1
cc += 1
result.append(position)
return result
for ls in get_matrix_diagonal(matrix):
for co in ls:
x,y = co[0],co[1],
print matrix[x][y],
print
輸出:
1
2 2
3 3 3
4 4 4 4
5 5 5
6 6
7
我沒有近距離投,但實際上這將是更好的問在codereview上,我認爲 –
好的,下次再說,謝謝。 –