print(matrix)
#matrix is [2,2,[0,1],[4,6]]
matrix = list(matrix)
rownum = matrix[0]
colnum = matrix[1]
del matrix[1], matrix[0]
print(colnum)
print(rownum)
print(matrix)
#matrix is now [[0,1], [4,6]]
matrixfile = open(outfilehandle, "w")
matrixfile.write(name)
for colnum in range(colnum):
matrixfile.writelines("\n"+"\t")
for rownum in range(rownum):
output = matrix[colnum][rownum]
print(output)
#output is: 0 1 4上面是一个函数,我想要输出为一个矩阵。忽略编写代码,因为我只是试图在编写文件之前获得一个适当的输出。当前输出似乎缺少了矩阵列表中的最后一个值。我希望它输出:0 1 4 6,但它只是输出:0 1 4
发布于 2018-11-07 01:10:39
这是因为迭代器正在覆盖实际的变量名,所以这就是为什么它不能工作,所以也许:
for colnum_ in range(colnum):
matrixfile.writelines("\n"+"\t")
for rownum_ in range(rownum):
output = matrix[colnum_][rownum_]
print(output)在那部分。
发布于 2018-11-07 01:09:30
在执行for循环时,您将更改变量colnum和rownum的值。在您第一次遍历for rownum in range(rownum):之后,rownum被更改为1。
for col in range(colnum):
matrixfile.writelines("\n"+"\t")
for row in range(rownum):
output = matrix[col][row]
print(output)发布于 2018-11-07 01:10:05
虽然你的问题有点含糊不清,因为读者不知道你的意图是否是要找出任何一种双重因素。
如果只是为了得到您想要的输出,那么代码非常简单。
from itertools import chain
matrix=[2,2,[0,1],[4,6]]
print(list(chain(*matrix[2:4])))https://stackoverflow.com/questions/53182302
复制相似问题