title: Print a list of words in random order - Python
body: <p>I have a project to complete from a book which was received as a Christmas present (Python Programming for the Absolute Beginner, Third Edition):</p>
  
  <p><em>Create a program that prints a list of words in random order. The program should print all the words and not repeat any.</em></p>
  
  <p>I have created the following code:</p>
  
  <pre><code>import random
  
  words = ["Please", "Help", "Me", "Merry", "Christmas"]
  
  for i in range(len(words)):
      random_index = random.randrange(len(words))
      print(words[random_index])
      del words[random_index]
  </code></pre>
  
  <p>I'd like to check if this code is the most efficient way of doing so, but there is no forum to check against, rather frustratingly!</p>
  
  <p>Is there a better way of doing this? Cheers</p>