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