Why does this happen with Python's list.sort?
<p>Given the code:</p>

<pre><code>a=['a','b','c','d']
b=a[::-1]
print b
c=zip(a,b)
print c
c.sort(key=lambda x:x[1])#
print c
</code></pre>

<p>It prints:</p>

<pre><code>['d', 'c', 'b', 'a']
[('a', 'd'), ('b', 'c'), ('c', 'b'), ('d', 'a')]
[('d', 'a'), ('c', 'b'), ('b', 'c'), ('a', 'd')]
</code></pre>

<p>Why does [('a', 'd'), ('b', 'c'), ('c', 'b'), ('d', 'a')]  change to [('d', 'a'), ('c', 'b'), ('b', 'c'), ('a', 'd')]?</p>

<hr>

<p>Similarly, given:</p>

<pre><code>c.sort(key=lambda x:3)#
print c
</code></pre>

<p>It prints:</p>

<pre><code>[('a', 'd'), ('b', 'c'), ('c', 'b'), ('d', 'a')]
</code></pre>

<p>Nothing changes - why?</p>
