Python uses an algorithm called Timsort:
  Timsort is a hybrid sorting algorithm, derived from merge sort and
  insertion sort, designed to perform well on many kinds of real-world
  data. It was invented by Tim Peters in 2002 for use in the Python
  programming language. The algorithm finds subsets of the data that are
  already ordered, and uses the subsets to sort the data more
  efficiently. This is done by merging an identified subset, called a
  run, with existing runs until certain criteria are fulfilled. Timsort
  has been Python's standard sorting algorithm since version 2.3. It is
  now also used to sort arrays in Java SE 7, and on the Android
  platform.