Python 2.7 выбрасывает ValueError: list.remove (x): x отсутствует в списке
Каждый раз, когда я запускаю эту программу, я получаю эту ошибку:
ValueError: list.remove(x): x not in list
Я пытаюсь понизить здоровье единственного пришельца всякий раз, когда он поражен болтом. Этот единственный иностранец также должен быть уничтожен, если его здоровье<= 0
, Точно так же болт также будет уничтожен. Вот мой код:
def manage_collide(bolts, aliens):
# Check if a bolt collides with any alien(s)
for b in bolts:
for a in aliens:
if b['rect'].colliderect(a['rect']):
for a in aliens:
a['health'] -= 1
bolts.remove(b)
if a['health'] == 0:
aliens.remove(a)
# Return bolts, aliens dictionaries
return bolts, aliens
ValueError
происходит на линииaliens.remove(a)
, Просто чтобы уточнить, обаaliens
а такжеbolts
это списки словарей.
Что я делаю неправильно?