Active 21 août 2014 / Viewed 177543 / Comments 0 / Edit
Exemples de comment supprimer un ou des éléments d'une liste avec python:
Pour supprimer un élément d'une liste en fonction de l'indice (position) on peut utiliser la fonction del:
>>> L1 = ['a','b','c','d','e','f']
>>> del L1[3]
>>> L1
['a', 'b', 'c', 'e', 'f']
Supprimer le dernier élément de la liste:
>>> del L1[-1]
>>> L1
['a', 'b', 'c', 'e']
Supprimer le premier élément de la liste:
>>> L1 = ['a','b','c','d','e','f']
>>> del L1[0]
>>> L1
['b', 'c', 'd', 'e', 'f']
Supprimer plusieurs éléments:
>>> L1
['a', 'b', 'c', 'e']
>>> del L1[1:3]
>>> L1
['a', 'e']
Essayer de supprimer un élément dont l'indice n'est pas dans la liste donne le message d'erreur suivant:
>>> del L1[7]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
Supprimer un élément pour une valeur donnée:
>>> l = ['a', 'b', 'c', 'd', 'a']
>>> while 'a' in l:
... del l[l.index('a')]
...
>>> l
['b', 'c', 'd']
Pour supprimer un élément en fonction de la valeur il existe aussi la fonction remove (attention ne supprime que la premiere occurrence !):
>>> l = ['a', 'b', 'c', 'd', 'a']
>>> l.remove('a')
>>> l
['b', 'c', 'd', 'a']
On peut aussi filtrer les éléments d'une liste avec une simple boucle for:
>>> l = ['a', 'b', 'c', 'd', 'a']
>>> l = [i for i in l if i != 'a']
>>> l
['b', 'c', 'd']
Pour supprimer tous les éléments:
>>> l = ['a', 'b', 'c', 'd', 'a']
>>> while 'a' in l:
... l.remove('a')
...
>>> l
['b', 'c', 'd']
Exemples de comment supprimer tous les éléments:
>>> l = ['a', 'b', 'c', 'd', 'a']
>>> del l[:]
>>> l
[]
avec clear()
>>> l = ['a', 'b', 'c', 'd', 'a']
>>> l.clear()
>>> l
[]
Liens | Site |
---|---|
del | Python doc |
How to remove an element from a list by index in Python? | stackoverflow |
Is there a simple way to delete a list element by value in python? | stackoverflow |
Hi, I am Ben.
I have developed this web site from scratch with Django to share with everyone my notes. If you have any ideas or suggestions to improve the site, let me know ! (you can contact me using the form in the welcome page). Thanks!