How can you select a random element from a list, and have it be removed?
Question: Let's say I have a list of colours, `colours = ['red', 'blue', 'green',
'purple']`.  
I then wish to call this python function that I hope exists, `random_object =
random_choice(colours)`. Now, if random_object holds 'blue', I hope `colours =
['red', 'green', 'purple']`.

Does such a function exist in python?


Answer: Firstly, if you want it removed because you want to do this again and again,
you might want to use `random.shuffle()` in the random module.

`random.choice()` picks one, but does not remove it.

Otherwise, try:

    
    
    import random
    
    # this will choose one and remove it
    def choose_and_remove( items ):
        # pick an item index
        if items:
            index = random.randrange( len(items) )
            return items.pop(index)
        # nothing left!
        return None
    

