2015-10-22 10 views
1

В списке может быть несколько самых больших чисел. Я хочу получить их индексы.
Например:Как найти индекс наибольших чисел в списке

В списке а = [1,2,3,4,5,5,5]
Индексы крупнейших чисел 4,5,6

I знаю, что вопрос прост для большинства людей, но, пожалуйста, будьте терпеливы, чтобы ответить на мой вопрос.

Благодаря :-)

ответ

0

1) создать переменную MAXNUM = 0

2) петли через список, если [я]> MAXNUM: MAXNUM = а [я]

3) петли через список второй раз в настоящее время, если [я] == MAXNUM: печать (я)

1
In [156]: a=[1,2,3,4,5,5,5] 

In [157]: m = max(a) 

In [158]: [i for i,num in enumerate(a) if num==m] 
Out[158]: [4, 5, 6] 
0

Попробуйте это:

a=[1,2,3,4,5,5,5] 
b = max(a) 
[x for x, y in enumerate(a) if y == b] 
0

Использование heapq:

import heapq 
from operator import itemgetter 
a=[1,2,3,4,5,5,5] 
largest = heapq.nlargest(3, enumerate(a), key=itemgetter(1)) 
indices, _ = zip(*largest) 

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

indices = range(len(a) - 3, len(a)) 
0
mylist=[1,2,3,3,3] 
maxVal=max(mylist) 
for i in range(0,len(mylist)): 
    if(mylist[i]==maxVal): 
     print i 
+0

Это не обеспечивает ответ на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). –

+0

Автор попросил распечатать все индексы максимального значения в массиве. И мой код точно обеспечивает это. Пожалуйста, объясните, почему мой пост не дает ответа. –

+0

1) http://stackoverflow.com/help/on-topic - Вопросы, требующие помощи в выполнении домашних заданий, должны содержать резюме работы, которую вы сделали до сих пор, чтобы решить проблему, и описание проблемы, которую вы решаете Это. Итак, несмотря на то, что вопрос имеет низкое качество, ваш ответ никогда не должен состоять из простого фрагмента кода - подумайте о добавлении хотя бы одного-двух предложений его объяснения. –

Смежные вопросы