Maison  >  Article  >  développement back-end  >  Pièges auxquels il faut prêter attention lors de la suppression d'éléments de la liste Python

Pièges auxquels il faut prêter attention lors de la suppression d'éléments de la liste Python

不言
不言original
2018-04-18 11:23:472026parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn