Pythonic way to get the largest item in a list
<p>Is there a better way of doing this? I don't really need the list to be sorted, just scanning through to get the item with the greatest specified attribute. I care most about readability but sorting a whole list to get one item seems a bit wasteful.</p>

<pre><code>&gt;&gt;&gt; import operator
&gt;&gt;&gt; 
&gt;&gt;&gt; a_list = [('Tom', 23), ('Dick', 45), ('Harry', 33)]
&gt;&gt;&gt; sorted(a_list, key=operator.itemgetter(1), reverse=True)[0]
('Dick', 45)
</code></pre>

<p>I could do it quite verbosely...</p>

<pre><code>&gt;&gt;&gt; age = 0
&gt;&gt;&gt; oldest = None
&gt;&gt;&gt; for person in a_list:
...     if person[1] &gt; age:
...             age = person[1]
...             oldest = person
... 
&gt;&gt;&gt; oldest
('Dick', 45)
</code></pre>
