数组的新值

时间:2019-01-04 10:00:07

标签: python

我正在尝试更改正在处理的数组中的值。

这是我的第一次尝试,但是值没有明显改变

for x in  TimedA:
    x=TimedA[i]=Ihold+Iscale*x

然后我尝试了这个:

for i in enumerate(TimedA):
TimedA[i]=Ihold+Iscale*TimedA[i]

但出现此错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-159-62d5e5c1c721> in <module>
     18 #new stimulus with scaling
     19 for i in enumerate(TimedA):
---> 20     TimedA[i]=Ihold+Iscale*TimedA[i]
     21     #print(x)
     22 

TypeError: list indices must be integers or slices, not tuple

你能告诉我怎么了吗?

1 个答案:

答案 0 :(得分:2)

如果您在x中检查enumerate,则会发现:

for x in enumerate(['a', 'b', 'c']):
    print(type(x)) # tuple
    print(x)       # (0, 'a') ..

实际上,您想要的是:

for i, x in enumerate(TimedA):
    TimedA[i] = #...

或者您可以使用:

for i in range(len(TimedA)):
    TimedA[i] = #...

p.s。。Python中的变量应使用小写字母命名,并带有下划线:timed_a

请参阅此naming convention