Est-il un moyen simple de supprimer un élément de la liste en valeur?

a = [1, 2, 3, 4]
b = a.index(6)

del a[b]
print a

Ci-dessus affiche l'erreur suivante:

Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 6, in <module>
    b = a.index(6)
ValueError: list.index(x): x not in list

Alors, je dois faire ceci:

a = [1, 2, 3, 4]

try:
    b = a.index(6)
    del a[b]
except:
    pass

print a

Mais n'est-il pas un moyen plus simple de faire cela?

  • Vous le calcul de l'indice de 6 dans votre liste. Mais 6 n'est pas dans votre liste de ... de sorte que ce qui est censé se passer? 🙂
  • cela n'a rien à voir avec la suppression d'une valeur dans une liste, étant donné que votre code n'est pas d'atteindre la del déclaration. Vous devriez peut-être changer son nom, ğ comment puis-je obtenir l'index d'une valeur qui n'est pas dans une liste. Réponse évidente - vous ne pouvez pas.
  • Eh bien, pas vraiment. Il veut supprimer un élément de la liste, indépendamment de savoir si elle existe ou pas, de ne pas obtenir l'index d'un élément inexistant. La question est bien posée.
InformationsquelleAutor zjm1126 | 2010-05-08