title: Python 3 list sorting with a tie-breaker
body: <p>I have seen a lot of similar questions here but none of them so far have answered the question directly, but instead have provided work arounds in specific scenarios to the asker's problem.</p>
  
  <p>I would like a general answer to the question of breaking ties in Python's Timsort. Can it be done? If it can be done, what is the general method of doing that.</p>
  
  <p>For example take the list of tuples</p>
  
  <pre><code>&gt;&gt;&gt; tuples = [(2,1), (2,9), (3, 8), (1,3), (1,2), (1,1)]
  </code></pre>
  
  <p>I want to sort these tuples such that their order is determined primarily by the value of the first value in each tuple. If we leave <code>reversed=False</code>, then they will be sorted by increasing order.
  I would do this with the following</p>
  
  <pre><code>&gt;&gt;&gt; tuples.sort(key=lambda t: t[0])
  </code></pre>
  
  <p>The result will be</p>
  
  <pre><code>&gt;&gt;&gt; tuples
  [(1,3), (1,2), (1,1), (2,1), (2,9), (3, 8)]
  </code></pre>
  
  <p>The question is what can I do general to break the tie between the first three elements. I would like to know if this is generally possible and applicable in any problem where defining a sort key comes up.</p>
  
  <p>Most of the time the other answers will mention that Timsort is <em>stable</em>. Does this rule imply that it is not possible to break ties?</p>