我建立了一个3D数组self.QL={}
然后用0“擦除”数组:
for loop0 in range(50):
for loop1 in range(50):
for loop2 in range(self.actions):
self.QL[loop0, loop1, loop2] = 0
但当我运行程序并试图从数组中获取值时,它会显示错误:
^{pr2}$在第135行,我有:
def _chooseaction(self, state):
self.vQ = 0
self.action = 0
self.temp = -1000
for a in range(self.actions):
self.vQ = self.QL[state[0],state[1],a]
if self.vQ > self.temp:
self.temp=self.vQ
self.action=a
return self.action
我做错什么了?在
state[1]
的值为63,但您仅用0到49的值初始化了它。在这就是为什么它说键(0,63,0)不存在。在
也许你可以用defaultdict?在
现在自我.QL基本上是一个dict,对于它没有的任何值都是0。在
相关问题 更多 >
编程相关推荐