Python 2.7 zgłasza ValueError: list.remove (x): x nie jest na liście

Za każdym razem, gdy uruchamiam ten program, pojawia się ten błąd:

ValueError: list.remove(x): x not in list

Próbuję obniżyć zdrowie pojedynczego kosmity, gdy zostanie trafiony piorunem. Ten pojedynczy kosmita również powinien zostać zniszczony, jeśli jego zdrowie jest<= 0. Podobnie, rygiel również zostałby zniszczony. Oto mój kod:

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

TheValueError dzieje się na liniialiens.remove(a). Aby wyjaśnić, zarównoaliens ibolts to listy słowników.

Co ja robię źle?

questionAnswers(3)

yourAnswerToTheQuestion