请告诉我,如何使用锯齿形将列表转换为矩阵?相反,有代码以锯齿形方式将矩阵转换为列表:
def zigzag(a):
m, n = a.shape
solution = [[] for i in range(m + n - 1)]
for i in range(m):
for j in range(n):
sum = i + j
value = a[i][j]
index = (i, j)
if sum % 2 == 0:
solution[sum].insert(0, (value, index))
else:
solution[sum].append((value, index))
output_vector = []
for i in solution:
for j in i:
output_vector.append(j[0])
return output_vector
这里有一个问题:您返回了一个列表,但是您建议如何仅使用一个列表来了解构建矩阵的维度?
假设我们有一个包含9 个元素的列表。这是一个3x3还是9x1矩阵?!
如果zigzag()也返回原始矩阵的维度或者我们自己设置它们来创建矩阵,那么问题就完全解决了:
结论: