Внутренний Part
дает вам первое вхождение в максимум.Position
возвращает список позиций, даже если существует только один элемент с максимальным значением, например:
M = {{2, 2}, {2, 3}, {2, 2}, {1, 1}}
{{2, 2}, {2, 3}, {2, 2}, {1, 1}}
Position[M, Max[M[[All, 2]]]]
{{2, 2}}
Итак, вам нужен первый элемент в первом элементе этого вывода.Вы могли бы сжать ваш код следующим образом:
Position[M, Max[M[[All, 2]]]][[1, 1]]
Однако, я думаю, что ваш код должен обрабатывать лучше, это случай:
M = {{3, 2}, {2, 3}, {2, 2}, {1, 1}}
3, 2}, {2, 3}, {2, 2}, {1, 1}}
Position[M, Max[M[[All, 2]]]]
{{1, 1}, {2, 2}}
Вы получите неправильный ответВаш код в этом случае.
Лучше было бы:
M[[All, 1]][[Position[M[[All, 2]], Max[M[[All, 2]]]][[1, 1]] ]]
Или альтернативно
M[[Position[M[[All, 2]], Max[M[[All, 2]]]][[1, 1]], 1]]