Как найти индекс максимального элемента массива python
Перейти к содержимому

Как найти индекс максимального элемента массива python

  • автор:

Программирование ,помогите пожалуйста.

Условие
Дан список из N целых чисел. Требуется найти индекс максимального элемента в этом списке.

Если таких элементов несколько, выведите индекс самого левого из них.

Формат входных данных
В первой строке входных данных вводится натуральное число N – размер списка.

Далее вводятся N целых чисел, каждое с отдельной строки.

Формат выходных данных
Выведите единственное число – индекс искомого элемента.

Голосование за лучший ответ

Вы можете решить данную задачу на языке Python следующим образом:

python
Copy code
n = int(input())
lst = []
for i in range(n):
lst.append(int(input()))

max_value = max(lst)
max_index = lst.index(max_value)

print(max_index)
Пример работы программы:

Copy code
Входные данные:
5
3
2
1
5
5

Выходные данные:
3
diff
Copy code
Входные данные:
7
-62
-61
-76
-52
-52
14
-11

Выходные данные:
5
В данном решении мы считываем размер списка n и сам список lst с помощью цикла for. Затем мы находим максимальный элемент в списке с помощью функции max() и находим его индекс с помощью метода index(). В конце выводим индекс максимального элемента.

если на пайтоне, то все просто
n=int(input())
data = [i for i in range(0, 10)]
print(data.index(max(data)))

Как найти позицию максимального элемента в списке?

Сначала думал что-то с enumerate сделать, но в итоге отказался от этой затеи т.к. элементарно не пошло.

Andrey_Belov

Андрей Белов @Andrey_Belov

Лучше использовать enumerate:

for i, v in enumerate(z): if v > max_v: max_v = v max_i = i

Вариант без цикла:

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Rsa97

Для правильного вопроса надо знать половину ответа

Ошибка в алгоритме — s и b должны инициализироваться до начала цикла.
Ошибка в логике — максимальный элемент может быть и меньше 0. Лучше будет s = -maxint-1 если речь о целых числах

Как получить индексы максимальных элементов в массиве массивов NumPy?

5e7b3dd257270263434822.png

Имеется массив следующего вида:
(красным помечены наибольшие элементы, индексы которых надо получить)

То есть, для такого массива код должен возвращать что-то подобное:
(0, 2, 2), (1, 0, 1), (2, 1, 0), (3, 0, 0), (4, 0, 0)
Конечно это можно сделать циклом с np.argmax, но, возможно, кто-нибудь сможет найти более эффективное решение, реализованное только с помощью numpy (в моём случае очень важна скорость работы скрипта)
Возможно помогут эти функции: np.argmax, np.unravel_index

5e7b43fcb902e378433006.png

UPD:

Нашел способ достать сами элементы, но вот в чем проблема, мне нужно получить их индексы

  • Вопрос задан более трёх лет назад
  • 974 просмотра

1 комментарий

Простой 1 комментарий

Как найти индекс максимального элемента массива python

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2024. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *