我的问题类似于一个月前在这里发布的问题:Python IndexError looping through array。
我正在使用一个名为Pyrosim的程序来模拟具有进化算法的机器人。在Pyrosim中,我们能够在神经元之间建立突触连接,这正是我的代码所试图做的。
我有两个字典(长度5和8),我需要遍历创建40个突触连接。 其中之一,SN,长度为5,抛出以下错误: IndexError:索引4超出了大小为4的轴0的范围。
我正在遍历SN中的值,那么如何尝试在SN的维度之外进行索引?
要解决此问题,我从for循环的范围中减去1,但现在我缺少SN中的最后一项
def send_synapses(self, sim, wts):
#prints {0: 0, 1: 1, 2: 2, 3: 3, 4: 4}
print(self.SN)
#prints {0: 5, 1: 6, 2: 7, 3: 8, 4: 9, 5: 10, 6: 11, 7: 12}
print(self.MN)
print("length of SN ", len(self.SN)) #prints 5
print("length of MN ", len(self.MN)) #prints 8
numSynapses = 0
for i in range (0,len(self.SN)-1): #I shouldn't have to subtract 1
for j in range (0,len(self.MN)):
numSynapses += 1
print(len(self.SN), self.SN)
sim.send_synapse(source_neuron_id = self.SN[i] , target_neuron_id = self.MN[j] , weight = wts[i,j] )
print("Num Synapses: ", numSynapses) #prints 32
在一个理想的世界中,我的numSynapses应该打印40张