擅长:python、mysql、java
<p>你问了很多问题,你可以通过<a href="http://docs.python.org/2/library/operator.html#operator.itemgetter">reading the documentation</a>来回答自己,所以我会给你一个一般性的建议:阅读它并在python shell中进行实验。您将看到<code>itemgetter</code>返回一个可调用的:</p>
<pre><code>>>> func = operator.itemgetter(1)
>>> func(a)
['Paul', 22, 'Car Dealer']
>>> func(a[0])
8
</code></pre>
<p>要以不同的方式执行此操作,可以使用<code>lambda</code>:</p>
<pre><code>a.sort(key=lambda x: x[1])
</code></pre>
<p>把它倒过来:</p>
<pre><code>a.sort(key=operator.itemgetter(1), reverse=True)
</code></pre>
<p>按多个列排序:</p>
<pre><code>a.sort(key=operator.itemgetter(1,2))
</code></pre>
<p>请参阅<a href="http://docs.python.org/2.7/howto/sorting.html">sorting How To</a>。</p>