Maison > développement back-end > Tutoriel Python > 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

不言
Libérer: 2018-04-18 11:23:47
original
2068 Les gens l'ont consulté

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]
Copier après la connexion

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]
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal