Remove object from a list of objects in python

45

In Python, how can I remove an object from array of objects? Like this:

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

I've tried array.remove() but it only works with a value, not a specific location in the array. I need to be able to delete the object by addressing its position(remove array[0])

This question is tagged with python arrays object

~ Asked on 2012-03-17 23:32:42

The Best Answer is


85

In python there are no arrays, lists are used instead. There are various ways to delete an object from a list:

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

In your case the appropriate method to use is pop, because it takes the index to be removed:

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

~ Answered on 2012-03-18 03:35:37


6

del array[0]

where 0 is the index of the object in the list (there is no array in python)

~ Answered on 2012-03-17 23:53:44


Most Viewed Questions: