我想在索引数组的时候可以带有变量,这样可以在写程序时只要写一段通用代码即可。
np1=np.array([ [1,1,1,1],[0,0,0,0] ])
np2=np.array([ [1,1,1,1],[0,0,0,0] ])
B="np"+str(1)
B[1,1]+=1
print(np1)
B[1,1]+=1
TypeError: string indices must be integers
我分析了错误原因是因为"B"直接被电脑认作字符串了,所以后面的索引也认为成字符串的索引(string indices must be integers)
我希望最后依旧是数组的索引,就比如np1[1,1],但是这个np1可以由另外一个字符串来代替,比如B=np1(但是现在问题就是这个“np1”时字符串。)
用 eval(B) 或者 locals()[B] 把字符串作为变量名取变量的值
你题目的解答代码如下:
import numpy as np
np1=np.array([ [1,1,1,1],[0,0,0,0] ])
np2=np.array([ [1,1,1,1],[0,0,0,0] ])
B="np"+str(1)
x = eval(B)
#或者 x = locals()[B]
x[1,1]+=1
print(np1)
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!