Difference between del, remove and pop on lists

前端 未结 12 2314
北海茫月
北海茫月 2020-11-22 04:20
>>> a=[1,2,3]
>>> a.remove(2)
>>> a
[1, 3]
>>> a=[1,2,3]
>>> del a[1]
>>> a
[1, 3]
>>> a= [1,2,3]
>         


        
12条回答
  •  迷失自我
    2020-11-22 04:52

    The effects of the three different methods to remove an element from a list:

    remove removes the first matching value, not a specific index:

    >>> a = [0, 2, 3, 2]
    >>> a.remove(2)
    >>> a
    [0, 3, 2]
    

    del removes the item at a specific index:

    >>> a = [9, 8, 7, 6]
    >>> del a[1]
    >>> a
    [9, 7, 6]
    

    and pop removes the item at a specific index and returns it.

    >>> a = [4, 3, 5]
    >>> a.pop(1)
    3
    >>> a
    [4, 5]
    

    Their error modes are different too:

    >>> a = [4, 5, 6]
    >>> a.remove(7)
    Traceback (most recent call last):
      File "", line 1, in 
    ValueError: list.remove(x): x not in list
    >>> del a[7]
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: list assignment index out of range
    >>> a.pop(7)
    Traceback (most recent call last):
      File "", line 1, in 
    IndexError: pop index out of range
    

提交回复
热议问题