Найти - Пользователи
Полная версия: Поиск количества макс. и мин. элементов в списке
Начало » Python для новичков » Поиск количества макс. и мин. элементов в списке
1 2 3
GGnoob
Привет!
Собсно сабж в заголовке. Как можно посчитать количество максимальных/минимальных элементов и узнать их индексы?
Singularity
10$
Budulianin
l = [1,2,3,4,5]
l.index(max(l))
l.index(min(l))

А, не так прочитал

=)

l.count(max(l))
l.count(min(l))

l = [1,1,1,7,8,2,3,5,8,0,8]
l1 = l[:]
index_list = []
while l1.count(max(l))!=0:
    index_list.append(l1.index(max(l1))+len(l)-len(l1))
    l1.pop(l1.index(max(l1)))  
                    
print index_list

>>>
[4, 8, 10]

или

import itertools as I
l = [1,1,1,7,8,2,3,5,8,0,8]
index_list = []
l1 = zip(l, I.count())
l1.sort(key=lambda x: x[0], reverse=True)
for item in l1[:l.count(max(l))]:
    index_list.append(item[1])
print index_list

>>> 
[4, 8, 10]
Singularity
Budulianin
GGnoob
количество максимальных/минимальных
это не то
sergeek
Budulianin
l = l.index(max(l))l.index(min(l))
по условию тса нужно найти все
GGnoob
Привет!Собсно сабж в заголовке. Как можно посчитать количество максимальных/минимальных элементов и узнать их индексы?
9.5$
Singularity
sergeek
9.5$
ну зачем ты так
smoke853
Если я правильно понял условие задачи, то как-то так наверное

lst = [2, 5, 10, 4, 4, 1, 7, 23, 12, 32, 44, 1, 5, 8, 44, 2, 13, 44]
lst_min = [index for index, value in enumerate(lst) if value == min(lst)]
lst_max = [index for index, value in enumerate(lst) if value == max(lst)]
print('amount min elem: {0}, amount max elem: {1}'
      '\nindex min elem: {2}, index max elem: {3}'.format(len(lst_min), len(lst_max),
                                                          lst_min, lst_max))

Ответ:
amount min elem: 2, amount max elem: 3
index min elem: [5, 11], index max elem: [10, 14, 17]
FishHook
smoke853
Если я правильно понял условие задачи
Нет, Вы не правильно поняли. Вас же спрашивают “Как можно посчитать”.
Ну а Вы что отвечаете? Вы же совершенно не отвечаете на поставленный вопрос,
Правильные варианты выглядят так

4kpt
FishHook
:)
Жжете…
py.user.next
за один проход это можно выполнить без всяких max и min
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB