web-dev-qa-db-fra.com

Supprimer un objet d'une liste d'objets dans python

En Python, comment puis-je supprimer un objet d'un tableau d'objets? Comme ça:

x = object()
y = object()
array = [x,y]
# Remove x

J'ai essayé array.remove() mais cela ne fonctionne qu'avec une valeur, pas un emplacement spécifique dans le tableau. Je dois pouvoir supprimer l'objet en adressant sa position (remove array[0])

39
user1120190

Dans python, il n'y a pas de tableaux, des listes sont utilisées. Il existe différentes façons de supprimer un objet d'une liste:

my_list = [1,2,4,6,7]

del my_list[1] # Removes index 1 from the list
print my_list # [1,4,6,7]
my_list.remove(4) # Removes the integer 4 from the list, not the index 4
print my_list # [1,6,7]
my_list.pop(2) # Removes index 2 from the list

Dans votre cas, la méthode appropriée à utiliser est pop, car il faut supprimer l'index:

x = object()
y = object()
array = [x, y]
array.pop(0)
# Using the del statement
del array[0]
75
Ricardo Murillo
del array[0]

0 est l’index de l’objet dans le liste (il n’ya pas de tableau en python)

6
MattoTodd

Si vous souhaitez supprimer plusieurs objets d'une liste. Il existe différentes façons de supprimer un objet d'une liste.

Essayez ce code. a est une liste avec tous les objets, b est un objet que vous voulez supprimer.

exemple :

a = [1,2,3,4,5,6]
b = [2,3]

for i in b:
   if i in a:
      a.remove(i)

print(a)

la sortie est [1,4,5,6] J'espère que cela fonctionnera pour vous

5

Si vous connaissez l'emplacement du tableau, vous pouvez le transmettre. Si vous supprimez plusieurs éléments, je vous suggère de les supprimer dans l'ordre inverse.

#Setup array
array = [55,126,555,2,36]
#Remove 55 which is in position 0
array.remove(array[0])
1
BaneOfSerenity

Vous pourriez essayer de supprimer dynamiquement un objet d'un tableau sans le parcourir en boucle? Où e et t ne sont que des objets aléatoires.

>>> e = {'b':1, 'w': 2}
>>> t = {'b':1, 'w': 3}
>>> p = [e,t]
>>> p
[{'b': 1, 'w': 2}, {'b': 1, 'w': 3}]
>>>
>>> p.pop(p.index({'b':1, 'w': 3}))
{'b': 1, 'w': 3}
>>> p
[{'b': 1, 'w': 2}]
>>>
1
BLang