如果这是一个很糟糕的问题/我已经得到了回答,我会事先道歉。
这是我尝试编写的程序的片段,它与矩阵一起使用。我希望它取出列,然后将其内容添加到col [x]。
col = []
for x in range(len(matrix[0])):
col.append([float(0)])
for x in range(len(matrix[0])):
for y in range(len(matrix)):
matrix[x][y] = float(matrix[x][y])
for x in range(len(matrix[0])):
for y in range(len(matrix)):
col[x] += matrix[x][y]
当我运行程序时,错误消息显示为"' float'对象不可迭代"为最后一行。为什么我不能" + ="两个浮动值使用两个单独的列表?
答案 0 :(得分:0)
您的问题来自您设置col
变量的方式。
原样:
col = []
for x in range(len(matrix[0])):
col.append([float(0)])
col
呈现为list
的{1}}元素:
list
因此,您不能在最后一个循环中说>>> col
[[0.0], [0.0], [0.0]]
,因为它会尝试将col[x] += 2.0
添加到float
。
定义list
,如:
col
将创建col = []
for x in range(len(matrix[0])):
col.append(float(0))
list
float
并将>>> col
[0.0, 0.0, 0.0]
作为有效指令。