擅长:python、mysql、java
<p>一种可能是使用<code>operator</code>模块中的<a href="http://docs.python.org/library/operator.html#operator.itemgetter" rel="noreferrer">itemgetter</a>函数:</p>
<pre><code>import operator
f = operator.itemgetter(0)
print map(f, tuple_list).index("cherry") # yields 1
</code></pre>
<p>对<code>itemgetter</code>的调用返回一个函数,该函数将对传递给它的任何内容执行与<code>foo[0]</code>等价的操作。使用<code>map</code>,然后将该函数应用于每个元组,将信息提取到新列表中,然后在该列表上正常调用<code>index</code>。</p>
<pre><code>map(f, tuple_list)
</code></pre>
<p>相当于:</p>
<pre><code>[f(tuple_list[0]), f(tuple_list[1]), ...etc]
</code></pre>
<p>这又相当于:</p>
<pre><code>[tuple_list[0][0], tuple_list[1][0], tuple_list[2][0]]
</code></pre>
<p>它给出:</p>
<pre><code>["pineapple", "cherry", ...etc]
</code></pre>