Ce qui suit est un partage des pièges auxquels vous devez prêter attention lors de la suppression d'éléments d'une liste Python. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Jetons un coup d'oeil ensemble
Donnons directement le code dont le résultat est différent de celui attendu
In[28]: a = [1,2,3,4,5,6] In[29]: for i in a: ...: a.remove(i) ...: In[30]: a Out[30]: [2, 4, 6]
Dans la boucle for ci-dessus, en supposant que nous supprimons la valeur de index=2, l'index=3 d'origine et les valeurs suivantes seront remplies vers l'avant, donc la variable index=3 d'origine est ignorée dans la boucle
De même, lors de l'utilisation de la fonction list.pop() pour supprimer des éléments spécifiés, la situation ci-dessus se produira également, telle que :
In[33]: a = [1,2,3,4,5,6] In[34]: for index, value in enumerate(a): ...: a.pop(index) ...: In[35]: a Out[35]: [2, 4, 6]
Si l'on souhaite supprimer des éléments de la liste en boucle, les méthodes les plus simples disponibles sont : utiliser une liste temporaire pour enregistrer les éléments à supprimer, et boucler la liste temporaire dans une boucle for pour supprimer les éléments de l'ancien élément de liste ; ou écraser directement la liste d'origine avec la liste d'éléments restante
Recommandations associées :
Deux méthodes et exemples de tri de liste python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!