如何修复此代码中不可迭代的 'float' 对象
How to fix 'float' object not iterable in this code
我正在尝试写这个公式:
J = 1/2m∑i(x−y)2
在 Python 代码中,但它给了我一个错误,我不知道为什么。
我定义了 x
和 y
值并想计算 J
但是当我为 J
编写代码时它给了我一个错误。
x = 0.5
y = 1
J = [sum(x**2 - y**2)]*1/6
报错:
TypeError: 'float' object is not iterable
sum 内置方法适用于可迭代对象(例如列表)
你的代码的执行是这样的:
- 评估
x**2 - y**2
这是一个比 浮点数
这个浮点数将作为 sum 函数的参数,所以你得到了你可以使用的错误:
J = (x**2 - y**2) / 6
如果 x 和 y 是列表,例如:
x = [0.5, 1, 1.5]
y = [1 ,2, 3]
你可以试试:
J = sum(i**2 + j**2 for i, j in zip(x, y)) / 6
我正在尝试写这个公式:
J = 1/2m∑i(x−y)2
在 Python 代码中,但它给了我一个错误,我不知道为什么。
我定义了 x
和 y
值并想计算 J
但是当我为 J
编写代码时它给了我一个错误。
x = 0.5
y = 1
J = [sum(x**2 - y**2)]*1/6
报错:
TypeError: 'float' object is not iterable
sum 内置方法适用于可迭代对象(例如列表) 你的代码的执行是这样的:
- 评估
x**2 - y**2
这是一个比 浮点数
这个浮点数将作为 sum 函数的参数,所以你得到了你可以使用的错误:
J = (x**2 - y**2) / 6
如果 x 和 y 是列表,例如:
x = [0.5, 1, 1.5]
y = [1 ,2, 3]
你可以试试:
J = sum(i**2 + j**2 for i, j in zip(x, y)) / 6