Remove object from a list of objects in python

后端 未结 7 1325
醉酒成梦
醉酒成梦 2020-12-09 14:20

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

相关标签:
7条回答
  • 2020-12-09 14:59

    If you know the array location you can can pass it into itself. If you are removing multiple items I suggest you remove them in reverse order.

    #Setup array
    array = [55,126,555,2,36]
    #Remove 55 which is in position 0
    array.remove(array[0])
    
    0 讨论(0)
  • 2020-12-09 15:01
    del array[0]
    

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

    0 讨论(0)
  • 2020-12-09 15:03

    if you wanna remove the last one just do your_list.pop(-1) if you wanna remove the first one your_list.pop(0) or any index you wish to remove

    0 讨论(0)
  • 2020-12-09 15:04

    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]
    
    0 讨论(0)
  • 2020-12-09 15:12

    If you want to remove multiple object from a list. There are various ways to delete an object from a list

    Try this code. a is list with all object, b is list object you want to remove.

    example :

    a = [1,2,3,4,5,6]
    b = [2,3]
    
    for i in b:
       if i in a:
          a.remove(i)
    
    print(a)
    

    the output is [1,4,5,6] I hope, it will work for you

    0 讨论(0)
  • 2020-12-09 15:14

    You could try this to dynamically remove an object from an array without looping through it? Where e and t are just random objects.

    >>> 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}]
    >>>
    
    0 讨论(0)
提交回复
热议问题