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]
)
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]
del array[0]
où 0
est l’index de l’objet dans le liste (il n’ya pas de tableau en python)
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
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])
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}]
>>>