Max function question: How do I return the index of the maximum value of a list?

Steven Bethard steven.bethard at gmail.com
Sun Jun 4 21:39:16 EDT 2006


jj_frap wrote:
> I'm new to programming in Python and am currently writing a three-card
> poker simulator. I have completed the entire simulator other than
> determining who has the best hand (which will be far more difficult
> than the aspects I've codes thus far)...I store each player's hand in a
> list of hand objects and I determine hand strength via a handstrength
> list with one element for each player.
> 
> When I try to print the "winner" (I've not coded for kicker strength
> and ties yet) via the max function, it returns the maximum value in the
> list rather than the index associated with that value.
> 
> How do I return the index?

Can you do something like::

     max_val, max_index = max((x, i) for i, x in enumerate(my_list))

?  If any two "x" values are equal, this will return the one with the 
lower index.  Don't know if that matters to you.

STeVe



More information about the Python-list mailing list