Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 22.08.2016
Сообщений: 16

Найти количество вторых минимумов в списке

09.09.2016, 11:35. Показов 2591. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан список из 2000 элементов, созданный при помощи
my_list = [(lambda x : (x*296+2410)%4096)(i) for i in range(2000)]
доставая из него значения при помощи операции
x = my_list.pop()
и проверяя длину оставшегося списка через
len(my_list),
найти количество элементов, равных второму по минимальности значению (отличных по значению от первого минимума)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.09.2016, 11:35
Ответы с готовыми решениями:

Найти произведение всех минимумов в списке
Условие: Во всех задачах предполагается использование списка, заполненного 20 случайными числами в диапазоне от 10 до 20. Задача: Найти...

Количество локальных минимумов в списке
Всем привет, в списке нужно подсчитать кол-во локальных минимумов и вывести их. Подсчитать подсчитал, но вывести не знаю как. Помогите...

Подсчитать количество локальных минимумов матрицы размером N×N найти максимум среди всех локальных минимумов
1. Подсчитать количество локальных минимумов заданной матрицы размером N×N найти максимум среди всех локальных минимумов (Элемент...

8
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
09.09.2016, 20:12
Лучший ответ Сообщение было отмечено AlexBOB2016 как решение

Решение

находим в списке мин элемент. проходим по списку удаляя все элементы равные мин. в измененном списке снова находим мин элемент который и есть второй по минимальности значению ну и считаем их количество в списке
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
my_list = [(lambda x : (x*296+2410)%4096)(i) for i in range(2000)]
min_elem = min(my_list)
x = len(my_list)-1
while x>0:
    if min_elem == my_list[x]:
        my_list.pop(x)
    x -= 1
min_elem = min(my_list)
res = 0
while len(my_list)>0:
    if min_elem == my_list.pop():
        res += 1
print(res)
1
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
09.09.2016, 22:26
Semen-Semenich, в задаче подразумевается один проход
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,974
10.09.2016, 00:40
Python
1
2
3
4
5
>>> numlist = [ 2, 4, 5, 6, 4, 2, 4, 2, 2 ]
>>> numlist = [ i for i in numlist if i != min(numlist) ]
>>> numlist.count(min(numlist))
3
>>>
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
10.09.2016, 09:15
easybudda, а если условие задания прочитать?
Цитата Сообщение от AlexBOB2016 Посмотреть сообщение
доставая из него значения при помощи операции
x = my_list.pop()
и проверяя длину оставшегося списка через
len(my_list),
найти количество элементов, равных второму по минимальности значению
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,974
10.09.2016, 11:22
Semen-Semenich, то получится ересь, отдалённо напоминающая программу на python
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.09.2016, 11:37
Если бы там еще было что то вроде "работайте с list как с очередью/стеком" то можно было понять.
А так не понятно зачем использовать pop() и тем более вызывать каждый раз len()
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,974
10.09.2016, 12:14
Судя по предыдущей теме (https://www.cyberforum.ru/pyth... 04500.html) нужна такая же возня только с двумя переменными и двумя к ним счётчиками, но это тупо и не интересно. Ещё вариант:
Python
1
2
3
4
5
>>> from collections import Counter
>>> numlist = [ 2, 4, 5, 6, 4, 2, 4, 2, 2 ]
>>> numdict = dict(Counter(numlist))
>>> numdict[sorted(numdict)[1]]
3
И да, это
Цитата Сообщение от AlexBOB2016 Посмотреть сообщение
my_list = [(lambda x : (x*296+2410)%4096)(i) for i in range(2000)]
круто! Просто написать
Python
1
my_list = [(i * 296 + 2410) % 4096 for i in range(2000)]
не прокатит, лямбду подавай!
1
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
10.09.2016, 14:26
И исчо
Python
1
2
3
>>> numlist = [ 2, 4, 5, 6, 4, 2, 4, 2, 2 ]
>>> numlist.count(sorted(set(numlist))[1])
3
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.09.2016, 14:26
Помогаю со студенческими работами здесь

Найти количество локальных минимумов матрицы и найти самый большой локальный минимум
#include <stdio.h> #include <stdlib.h> int main () { int n, k=0, kmax;

Найти в массиве количество локальных минимумов
Привет. Нужна помощь в задачках, т.к. уеду до 31 числа. Не будет интернета и ПК. Дан массив, содержащий 2014 положительных целых...

Найти количество локальных минимумов в последовательности
Найти количество локальных минимумов в последовательности с помощью for_each, используя объект-функцию

Найти в массиве количество локальных минимумов
Дан массив, содержащий 2014 положительных целых чисел. Напишите программу, которая находит в этом массиве количество локальных минимумов....

Найти количество локальных минимумов в матрице
Можете подсказать как найти кол-во локальных минимумов в двумерном массиве?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru