You are here

Deleting elements

4 September, 2015 - 14:38

There are several ways to delete elements from a list. If you know the index of the element you want, you can use pop:

>>> t = ['a', 'b', 'c']>>> x = t.pop(1)>>> print t['a', 'c']>>> print xb
 

pop modifies the list and returns the element that was removed. If you don’t provide an index, it deletes and returns the last element.

If you don’t need the removed value, you can use the del operator:

>>> t = ['a', 'b', 'c']>>> del t[1]>>> print t['a', 'c']
 

If you know the element you want to remove (but not the index), you can use remove:

>>> t = ['a', 'b', 'c']>>> t.remove('b')>>> print t['a', 'c']
 

The return value from remove is None.

To remove more than one element, you can use del with a slice index:

>>> t = ['a', 'b', 'c', 'd', 'e', 'f']>>> del t[1:5]>>> print t['a', 'f']
 

As usual, the slice selects all the elements up to, but not including, the second index.

Exercise 10.4. Write a function called middlethat takes a list and returns a new list that contains all but the rst and last elements. So middle([1,2,3,4])should return [2,3].

Exercise 10.5. Write a function called chop that takes a list, modies it by removing the rst and last elements, and returns None.