我正在尝试更改正在处理的数组中的值。
这是我的第一次尝试,但是值没有明显改变
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
你能告诉我怎么了吗?
答案 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。