为什么不能在for循环中设置特定值?

时间:2018-11-01 10:46:38

标签: python python-3.x

所以我试图在如下的for循环中使用一个值:

for i = 19:
  dydx[i]=(y[i+1]-y[i])/x

我收到此错误

TypeError:“ int”对象不可迭代

为什么不能将变量设置为等于某个值?

3 个答案:

答案 0 :(得分:1)

您不能遍历单个整数,如果以后会更改为特定值,请使其成为具有特定值的数组:

for i in [19]:
    dydx[i]=(y[i+1]-y[i])/x

或者如果您真的只想要i的一个值,则不需要循环:

i = 19
dydx[i]=(y[i+1]-y[i])/x

答案 1 :(得分:0)

使用range函数(此示例将从0迭代到19):

for i in range(20):
    dydx[i]=(y[i+1]-y[i])/x

您始终可以像这样range(1, 20)指定起始值,它将从1迭代到19。

但是您不能遍历int变量。对于单个值,只需使用:

i = 19:
dydx[i]=(y[i+1]-y[i])/x

答案 2 :(得分:0)

以示例值为例:-

dydx = [1,2,3,4,5]

y = [5,6,7,8,8]
x = 10

for i = 3:
    dydx[i]=(y[i+1]-y[i])/x

print(dydx) 

将产生错误,因为

  

对于x = 10:

不是有效的语法

如果您只需要在列表上应用操作,则可以应用类似:-

dydx = [1,2,3,4,5]

y = [5,6,7,8,8]
x = 10

i = 3
dydx[i]=(y[i+1]-y[i])/x

print(dydx) 

这行得通!