float值,iterables和matrices出错

时间:2015-01-20 09:58:29

标签: python

如果这是一个很糟糕的问题/我已经得到了回答,我会事先道歉。

这是我尝试编写的程序的片段,它与矩阵一起使用。我希望它取出列,然后将其内容添加到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'对象不可迭代"为最后一行。为什么我不能" + ="两个浮动值使用两个单独的列表?

1 个答案:

答案 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] 作为有效指令。