【发布时间】:2018-08-16 03:20:17
【问题描述】:
我正在从事一个神经进化项目,其中有一个充满活跃实体和死亡实体的数组。当活动实体死亡时,它们会从活动列表中移除并放入死亡列表中。从活动列表中删除实体时,我经常遇到此错误:ValueError:
ValueError: list.remove(x): x not in list
请注意,这些列表在执行过程中会被填充和清空数百次。此代码在每一帧中运行,因此这些列表在每次执行期间循环数千次。并非每一代都会抛出此错误。它似乎在执行过程中的不同时间点随机发生。
代码示例:
for entity in self.active:
entity.updatePosition()
#bla bla bla unimportant...
if entity.goesOutOfBounds():
self.dead.append(entity)
self.active.remove(entity)
如果我可以提供任何其他信息,请询问:)
【问题讨论】:
-
您是否正在改变您正在迭代的列表?这是导致奇怪的、看似随机的错误的秘诀。
-
@AndrewGuy 是的,我是。我怎样才能解决这个问题?
标签: python-3.x list loops neural-network evolutionary-algorithm