title: Sorting algorithms more efficient than bubble sort
body: <p>I have written this algorithm to sort a list using bubble sort. Is this the most efficient way to sort a list?<br>
  If not, why?<br>
  What makes it less efficient and what are the alternatives present?</p>
  
  <pre><code>def BubbleSort(List):
       for i in range(len(List)-1):
            for Number in range(len(List)-1):
                 if List[Number] &gt; List[Number+1]:
                      List[Number], List[Number+1] = List[Number+1], List[Number]
  
  print(BubbleSort([5,2,1,4,3])
  </code></pre>
  
  <p>Thanks!</p>