<html><body bgcolor="#FFFFFF"><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">On Dec 3, 2009, at 18:25, Hugo Arts &lt;<a href="mailto:hugo.yoshi@gmail.com">hugo.yoshi@gmail.com</a>&gt; wrote:</span><br></div><div><br></div><div></div><blockquote type="cite"><div>On Fri, Dec 4, 2009 at 2:08 AM, Tony Cappellini <span dir="ltr">&lt;<a href="mailto:cappy2112@gmail.com"><a href="mailto:cappy2112@gmail.com">cappy2112@gmail.com</a></a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>I have a list of 2300 strings.<br><br>When I call max() on the list, it returned an item with 37 characters. I am only passing 1 argument to max().<br>I know for a fact that the largest item has 57 characters, [...]</blockquote></div></div></blockquote><blockquote type="cite"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">What are the assumptions when calling max on a list of strings?<br></blockquote><div><br>Max gives you the largest item in the iterable. That's not the same as the longest item. e.g.:<br><br>&gt;&gt;&gt; max(['aaa', 'z'])<br>'z'<br>&gt;&gt;&gt; 'aaa' &lt; 'z'<br>

True<br><br>When you're comparing strings, the 'largest' one is not the longest string, but the string that comes last alphabetically speaking. If you want the item whose length is greatest, use the 'key' argument, like so:<br>

<br>&gt;&gt;&gt; max(['aaa', 'z'], key=len)<br></div></div></div></blockquote><br><div>everyone is spot-on. the whole crux of the problem is that "largest" != "longest", so that's where 'key' comes in. "largest" (max) means the largest lexicographically, so it's ASCII sort order and presumably code point order for Unicode -- pls correct me if i'm wrong. and of course, the opposite for min/"smallest".</div><div><br></div><div>cheers,</div><div>-wesley</div></body></html>