Pour une raison quelconque, je n'aime aucune des réponses ici. Oui, elles fonctionnent, mais à proprement parler, la plupart d'entre elles ne suppriment pas d'éléments dans une liste, n'est-ce pas ? (Mais faire une copie et ensuite remplacer l'original par la copie éditée).
Pourquoi ne pas d'abord supprimer l'indice le plus élevé ?
Y a-t-il une raison à cela ? Je le ferais simplement :
for i in sorted(indices, reverse=True):
del somelist[i]
Si vous ne voulez vraiment pas supprimer des éléments à l'envers, alors je pense que vous devriez simplement désincrémenter les valeurs d'indices qui sont plus grandes que le dernier indice supprimé (vous ne pouvez pas vraiment utiliser le même indice puisque vous avez une liste différente) ou utiliser une copie de la liste (ce qui ne serait pas une "suppression" mais un remplacement de l'original par une copie éditée).
Est-ce que je rate quelque chose ici, une raison de ne pas supprimer dans l'ordre inverse ?