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&nbsp;происходит на линииaliens.remove(a), Просто чтобы уточнить, обаaliens&nbsp;а такжеbolts&nbsp;это списки словарей.

Что я делаю неправильно?