我有一个数组:
X = [[5*, 0, 0, 0, 0, 0, 0, 0],
[9*, 6, 0, 0, 0, 0, 0, 0],
[4, 6*, 8, 0, 0, 0, 0, 0],
[0, 7*, 1, 5, 0, 0, 0, 0],
[9, 3, 3*, 4, 4, 0, 0, 0],
[4, 5, 5*, 6, 7, 5, 0, 0],
[4, 5, 6, 8*, 7, 7, 8, 0],
[4, 7, 8, 9*, 7, 3, 9, 6]]
我想选择并附加所有由 * 标记的值。该方法基本上是从第 0 行和第 1 行中选择第 0 个元素......从第 2 行和第 3 行中选择第 1 个元素......依此类推。
结果集应该是:
Result = ((X[0][0], (X[1][0]), (X[2][1], X[3][1]), (X[4][2], X[5][2]), (X[6][3], X[7][3]))
可以写成:
Result = ((X[n+0][n], (X[n+1][n]), (X[n+2][n+1], X[n+3][n+1]), (X[n+4][n+2], X[n+5][n+2]), (X[n+6][n+3], X[n+7][n+3]))
Where n = 0
我怎么做?我已经应用了这个,但它不起作用:
Result = []
for a in X:
Result.append([[[ a[i][j] ] for i in range(0,8)] for j in range(0,8)])
但没有结果。有什么猜测吗?