Как найти индекс максимального числа в питоне
Регистрация: 04.02.2019
Сообщений: 1
Как найти индекс максимального числа?
Новичок в python. Как можно найти индекс максимального числа в строке?
Заранее спасибо.
2 the Nation Glory
Регистрация: 27.05.2014
Сообщений: 3,289
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
| Aleksandr H. |
| Посмотреть профиль |
| Найти ещё сообщения от Aleksandr H. |
Пользователь
Регистрация: 28.03.2017
Сообщений: 35
Найти все числа в строке, сделать из них по ходу список, в списке найти макс. число, потом найти индекс этого числа. Все может уместиться в 1 строчку.
Найдите индекс максимального элемента в списке, используя Python
В Python индекс максимального элемента относится к определенному индексу, в котором элемент будет больше, чем все элементы списка. В Python есть несколько встроенных функций len(), max(), series(), idxmax() и index(), которые можно использовать для поиска индекса максимального элемента в списке.
Давайте возьмем это на примере.
Данная строка: [61, 12, 4, 5, 89, 7]
Таким образом, максимальный текущий индекс становится 4, т.е. 89.
Синтаксис
В примерах используется следующий синтаксис:
len() — это встроенный метод Python, который возвращает длину объекта.
Функция max() — это встроенная функция Python, которая находит элемент с максимальным значением или за итерацию.
Series()
Эта встроенная функция определяется одномерным массивом, который может хранить данные любого типа, например целое число, строку, число с плавающей запятой и т. д.
idxmax()
Эта встроенная функция возвращает серию индексов с максимальным значением из списка.
index()
index() — это встроенная функция Python, которую можно использовать для поиска элемента в списке и возврата позиции элемента.
Использование цикла while
Программа использует цикл while для прохода по циклу и проверки условия с помощью метода использования с именем len(), который используется для определения длины входного списка.
Пример
В следующем примере запустите программу, сохранив список ввода в переменных mark. Затем инициализируйте две переменные — maximum_val и maximum_index первым значением в списке и его index[0] соответственно. Затем программа инициализирует переменную i значением 1 для итерации цикла. Теперь используем цикл while для перебора списка. Затем, используя оператор if для каждой итерации, он проверяет, превышает ли текущее значение в списке текущее максимальное значение. Затем он обновляет переменную Maximum_val до текущего значения, а переменную Maximum_index до текущего индекса, а переменная цикла i увеличивается на 1. Наконец, мы печатаем результат с помощью переменных Maximum_val и Maximum_index.
marks = [1086, 1044, 1221, 3669, 1000, 2843] # initialize maximum value and index maximum_val = marks[0] maximum_index = 0 # Initialize loop variable i = 1 # iterate through the list using while loop while i < len(marks): if marks[i] >maximum_val: maximum_val = marks[i] maximum_index = i i += 1 print(f"Maximum Value: ") print(f"Maximum Index position: ")
Выход
Maximum Value: 3669 Maximum Index position: 3
Использование функции max()
Программа использует встроенную функцию max() для поиска максимального элемента в списке с помощью Python.
Пример
В следующем примере начните программу с сохранения входного списка в переменной list1. Затем используйте встроенную функцию max(), которая принимает параметр как list1, чтобы найти максимальное значение из списка и сохранить его в переменной max_number . Наконец, распечатайте результат с помощью переменной max_number.
list1 = [3, 2, 8, 5, 10, 6] max_number = max(list1); print("The largest number is:", max_number)
Выход
The largest number is: 10
Использование функций Series() и idxmax()
Программа использует модуль Pandas для предоставления встроенных функций Series() и idxmax() для поиска индекса максимального количества элементов в списке.
Пример
В следующем примере мы запустим программу, импортировав модуль с именем pandas и приняв ссылку в виде pds, что поможет установить связанную с ним встроенную функцию. Затем создайте входной список и сохраните его в переменной Age. Затем, используя встроенные функции Series() и idxmax(), он найдет серию списков в целочисленной форме и вернет элемент максимального индекса из списка.
import pandas as pds # Consider the list of integers Age = [39, 126, 40, 50, 77, 87] # Using pandas.Series().idxmax() print("Maximum Index position from the list: ",pds.Series(Age).idxmax())
Выход
Maximum Index position from the list: 1
Использование функции индекса()
Программа использует встроенную функцию index() вместе с max() для возврата индекса с наибольшим значением из заданного списка.
Пример
В следующем примере начните программу с сохранения списка входных данных в переменной Score. Затем используйте встроенные функции index() с переменной Score, чтобы найти позицию элемента, и она принимает параметр как встроенную функцию max() , который возвращает максимальный элемент из списка.
Score = [41, 35, 59, 78, 99, 100, 33] print("Maximum index present in the list:", Score.index(max(Score)))
Выход
Maximum index present in the list: 5
Использование простого цикла for и оператора if
Программа использует простой цикл for для перебора списка и с помощью оператора if проверяет максимальный элемент индекса из списка.
Пример
В следующем примере запустите программу с функцией с именем max_num(). Внутри функции список входных данных хранится в переменной num. Затем используйте переменную num с индексом 0, т.е. num[0] в переменной max_value, которая поможет проверить условие в операторе if. Затем, используя цикл for, переменная a перебирает список, т. е. num, и используя оператор if, она устанавливает условие для максимального элемента с помощью оператора > и возвращает значение максимальный элемент из списка в переменной max_value. Затем он будет использовать index() с переменной num, чтобы найти максимальный индекс и сохранить его в переменной max_index. Наконец, мы печатаем результат с помощью вызывающей функции max_num().
def max_num(): num = [120, 50, 99, 102, 11, 91] max_value = num[0] for a in num: if a > max_value: max_value = a max_index = num.index(max_value) print("The maximum value from the list is:", max_value) print("The index of the max value is:", max_index) max_num()
Выход
The maximum value from the list is: 120 The index of the max value is: 0
Заключение
Мы видели, что приведенные выше выходные данные представляют собой максимальное число по его индексной позиции в списке. Существуют новые способы решения постановки задачи, такие как idxmax() и series(), которые определяют одномерный массив для хранения данных любого типа и возвращают серию индексов с наибольшим значением. Этот тип программы обычно используется для решения проблемы на основе системы записи файлов и фильтрации максимального значения в базе данных.
Все права защищены. © Linux-Console.net • 2019-2023
Как найти позицию максимального элемента в списке?
Сначала думал что-то с enumerate сделать, но в итоге отказался от этой затеи т.к. элементарно не пошло.
Андрей Белов @Andrey_Belov
Лучше использовать enumerate:
for i, v in enumerate(z): if v > max_v: max_v = v max_i = i
Вариант без цикла:
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

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



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

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