我构建了一个 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
但是当我运行程序并尝试从数组中获取一个值时,它会抛出错误:
File "Bots/QL.py", line 135, in _chooseaction
self.vQ = self.QL[state[0],state[1],a]
KeyError: (0, 63, 0)
在第 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
我做错了什么?