Fix Python – Getting the index of the returned max or min item using max()/min() on a list

Question

Asked By – Kevin Griffin

I’m using Python’s max and min functions on lists for a minimax algorithm, and I need the index of the value returned by max() or min(). In other words, I need to know which move produced the max (at a first player’s turn) or min (second player) value.

for i in range(9):
    new_board = current_board.new_board_with_move([i / 3, i % 3], player)

    if new_board:
        temp = min_max(new_board, depth + 1, not is_min_level)  
        values.append(temp)

if is_min_level:
    return min(values)
else:
    return max(values)

I need to be able to return the actual index of the min or max value, not just the value.

Now we will see solution for issue: Getting the index of the returned max or min item using max()/min() on a list


Answer

if is_min_level:
    return values.index(min(values))
else:
    return values.index(max(values))

This question is answered By – too much php

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0