1. Главная
  2. Библиотека
  3. Экономика
  4. Скажем, дан вот такой список, в котором хранятся резуль...
Разбор задачи

Скажем, дан вот такой список, в котором хранятся результаты соревнований в виде словарей:: List[Dict[str, Union[str, int]]] = [ 'name': 'Kenneth', 'score': 3, 'name': 'Bebe', 'score': 41, 'name': 'Joyce', 'score': 24, 'name': 'Richard', 'score': 37, — задача №700510

  • Предмет: Экономика
  • Автор: Кэмп
  • #Бизнес-аналитика и большие данные в экономике
  • #Программные средства для бизнес-аналитики
Скажем, дан вот такой список, в котором хранятся результаты соревнований в виде словарей:: List[Dict[str, Union[str, int]]] = [ 'name': 'Kenneth', 'score': 3, 'name': 'Bebe', 'score': 41, 'name': 'Joyce', 'score': 24, 'name': 'Richard', 'score': 37, — задача №700510

Условие:

Скажем, дан вот такой список, в котором хранятся результаты соревнований в виде словарей:
\ngrades: List[Dict[str, Union[str, int]]] = [{'name': 'Kenneth', 'score': 3}, {'name': 'Bebe', 'score': 41}, {'name': 'Joyce', 'score': 24}, {'name': 'Richard', 'score': 37}, {'name': 'Marian', 'score': 44}, {'name': 'Jana', 'score': 45},
{'name': 'Sarah', 'score': 90}, {'name': 'Eddie', 'score': 2}, {'name': 'Mary', 'score': 63},
{'name': 'Ronald', 'score': 15}, {'name': 'David', 'score': 44}, {'name': 'Richard', 'score': 78},
{'name': 'Warren', 'score': 7}, {'name': 'Alyssa', 'score': 13}, {'name': 'Lloyd', 'score': 52},
{'name': 'Vanessa', 'score': 6}, {'name': 'Karen', 'score': 40}, {'name': 'James', 'score': 54},
{'name': 'Annie', 'score': 87}, {'name': 'Glenn', 'score': 9}, {'name': 'Bruce', 'score': 68},
{'name': 'Ramona', 'score': 64}, {'name': 'Jeannie', 'score': 22}, {'name': 'Aaron', 'score': 3},
{'name': 'Ronnie', 'score': 47}, {'name': 'William', 'score': 94}, {'name': 'Sandra', 'score': 40},
]

Напишите код, который выводит на экран минимальное и максимальное количество очков из этого списка. Используйте только встроенные функции и лямбда-функции, то есть реализуйте решение «в две строки».

Решение:

Для решения этой задачи мы воспользуемся встроенными функциями min()min() и max()max(), передав им в качестве аргумента keykey лямбда-функцию, которая будет извлекать значение по ключу ′score′'score' из каждого словаря.

Дано

Список словарей grades, где каждый словарь содержит имя участника ('name') и его результат в баллах ('score').

Найти

Минимальное и максимальное коли...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какова основная цель использования аргумента `key` с лямбда-функцией в функциях `min()` или `max()` при работе со списком словарей?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет

score'$ из каждого словаря.\n\n### Дано\nСписок словарей `grades`, где каждый словарь содержит имя участника (`'name'`) и его результат в баллах (`'score'`).\n\n### Найти\nМинимальное и максимальное коли...","answer":null,"isAiAnswer":true,"__typename":"LibraryWorkContent"},"type":{"id":"1","title":"Решение задач","title_singular":"решение задачи","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"similarWorks":[{"id":"270280","textSeo":"Сделайте краткую организационно-правовую характеристику организации государственное бюджетное учреждение города Москвы «Московский аналитический центр в сфере городского хозяйства».","slug":"sdelaite-kratkuiu-organizacionno-pravovuiu-xarakteristiku-organizacii-gosudarstvennoe-biudzetnoe-ucrezdenie-goroda-moskvy-moskovskii-270280","createdAt":"2024-11-27T18:51:48+00:00","redirectUrl":null,"subject":{"id":"71","title":"Экономика","slug":"ekonomika","titleDative":"экономике","__typename":"Subject"},"type":{"id":"1","title":"Решение задач","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"content":{"textTask":"

Сделайте краткую организационно-правовую характеристику организации государственное бюджетное учреждение города Москвы «Московский аналитический центр в сфере городского хозяйства».

","__typename":"LibraryWorkContent"},"__typename":"LibraryWork"},{"id":"56957","textSeo":"Ниже представлены условные данные системы национальных счетов:1. Личные потребительские расходы – 420 млрд. руб. 2. Заработная плата – 292 млрд. руб. 3. Амортизация – 32 млрд. руб.","slug":"nize-predstavleny-uslovnye-dannye-sistemy-nacionalnyx-scetov1-licnye-potrebitelskie-rasxody-420-mlrd-rub-2-zarabotnaia-plata-292-mlrd-56957","createdAt":"2024-04-23T05:55:51+00:00","redirectUrl":null,"subject":{"id":"71","title":"Экономика","slug":"ekonomika","titleDative":"экономике","__typename":"Subject"},"type":{"id":"1","title":"Решение задач","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"content":{"textTask":"

Ниже представлены условные данные системы национальных счетов:

\r\n

1. Личные потребительские расходы – 420 млрд. руб.

\r\n

2. Заработная плата – 292 млрд. руб.

\r\n

3. Амортизация – 32 млрд. руб.

\r\n

4. Государственные закупки товаров и услуг – 87 млрд. руб.

\r\n

5. Косвенные налоги на бизнес – 39 млрд. руб.

\r\n

6. Прибыль корпорации – 145 млрд. руб.

\r\n

7. Валовые смешанные доходы – 103 млрд. руб.

\r\n

8. Взносы на страхование – 4 млрд. руб.

\r\n

9. Экспорт товаров и услуг – 33 млрд. руб.

\r\n

10. Чистые внутренние инвестиции – 85 млрд. руб.

\r\n

11. Импорт товаров и услуг – 42 млрд. руб.

\r\n

Рассчитайте:

\r\n

А) ВВП по расходам;

\r\n

Б) ВВП по доходам;

\r\n

В) валовые внутренние инвестиции;

\r\n

Г) ЧВП;

\r\n

Д) чистый экспорт

","__typename":"LibraryWorkContent"},"__typename":"LibraryWork"},{"id":"533083","textSeo":"Рассчитать годовой стипендиальный фонд колледжа по данным: Количество студентов на человек План выпуска составляет -210 человек План приема - 250 человек Процент охвата стипендиями студентов Средний размер стипендии - 610 руб.","slug":"rasscitat-godovoi-stipendialnyi-fond-kolledza-po-dannym-1-kolicestvo-studentov-na-0101-720-celovek-2-plan-vypuska-sostavliaet-210-533083","createdAt":"2026-05-07T04:28:37+00:00","redirectUrl":null,"subject":{"id":"71","title":"Экономика","slug":"ekonomika","titleDative":"экономике","__typename":"Subject"},"type":{"id":"1","title":"Решение задач","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"content":{"textTask":"Рассчитать годовой стипендиальный фонд колледжа по данным:\n1. Количество студентов на \\( 01.01-720 \\) человек\n2. План выпуска составляет -210 человек\n3. План приема - 250 человек\n4. Процент охвата стипендиями студентов \\( -58 \\% \\)\n5. Средний размер стипендии - 610 руб.","__typename":"LibraryWorkContent"},"__typename":"LibraryWork"}],"status":{"id":"0","title":"LIBRARY_WORK_IS_READY","__typename":"IntEnum"},"worksWithAnotherSubject":[{"url":"https://kampus-back-web:8080/biblioteka/reshenie-zadach/dizayn/","worksCount":59,"subject":{"id":"1","title":"Дизайн","titleDative":"дизайну","titleGenitive":"дизайна","group":{"id":"1","title":"Гуманитарные","icon":null,"__typename":"SubjectGroup"},"sortOrder":5,"slug":"dizayn","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus-back-web:8080/biblioteka/reshenie-zadach/istoriya/","worksCount":2109,"subject":{"id":"4","title":"История","titleDative":"истории","titleGenitive":"истории","group":{"id":"1","title":"Гуманитарные","icon":null,"__typename":"SubjectGroup"},"sortOrder":8,"slug":"istoriya","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus-back-web:8080/biblioteka/reshenie-zadach/tovarovedenie/","worksCount":280,"subject":{"id":"66","title":"Товароведение","titleDative":"товароведению","titleGenitive":"товароведения","group":{"id":"4","title":"Экономика и финансы","icon":null,"__typename":"SubjectGroup"},"sortOrder":70,"slug":"tovarovedenie","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus-back-web:8080/biblioteka/reshenie-zadach/morskaya-tehnika/","worksCount":27,"subject":{"id":"98","title":"Морская техника","titleDative":"морской технике","titleGenitive":"морской техники","group":{"id":"3","title":"Технические","icon":null,"__typename":"SubjectGroup"},"sortOrder":102,"slug":"morskaya-tehnika","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus-back-web:8080/biblioteka/reshenie-zadach/metallurgiya/","worksCount":264,"subject":{"id":"112","title":"Металлургия","titleDative":"металлургии","titleGenitive":"металлургии","group":{"id":"3","title":"Технические","icon":null,"__typename":"SubjectGroup"},"sortOrder":116,"slug":"metallurgiya","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus-back-web:8080/biblioteka/reshenie-zadach/kriminalistika-i-kriminologiya/","worksCount":275,"subject":{"id":"217","title":"Криминалистика и криминология","titleDative":"криминалистике и криминологии","titleGenitive":"криминалистики и криминологии","group":{"id":"6","title":"Юриспруденция и право","icon":null,"__typename":"SubjectGroup"},"sortOrder":221,"slug":"kriminalistika-i-kriminologiya","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"}],"seoSubjects":[{"id":"170","title":"Бизнес-аналитика и большие данные в экономике","isAvailable":true,"__typename":"SeoSubject"},{"id":"972","title":"Программные средства для бизнес-аналитики","isAvailable":true,"__typename":"SeoSubject"}],"seoTags":[{"id":"91827","title":"Python","isAvailable":true,"__typename":"SeoTag"},{"id":"501235","title":"Встроенные функции","isAvailable":true,"__typename":"SeoTag"},{"id":"556374","title":"Лямбда-функции","isAvailable":true,"__typename":"SeoTag"},{"id":"594912","title":"Минимум и максимум","isAvailable":true,"__typename":"SeoTag"},{"id":"594913","title":"Список словарей","isAvailable":true,"__typename":"SeoTag"}],"extraContent":{"id":"134660","commonMistakes":"1. Забывают использовать параметр `key` в функциях `min()` и `max()`, что приводит к ошибке при попытке сравнить словари напрямую.\n2. Не извлекают значение `'score'` из словаря, возвращаемого `min()` или `max()`, получая в результате весь словарь, а не числовое значение.\n3. Пытаются реализовать поиск минимума и максимума через циклы, игнорируя требование использовать только встроенные функции и лямбда-функции «в две строки».","topicEssentials":"1. Функция `min()` возвращает наименьший элемент из итерируемого объекта.\n2. Функция `max()` возвращает наибольший элемент из итерируемого объекта.\n3. Параметр `key` в функциях `min()` и `max()` принимает функцию, которая применяется к каждому элементу итерируемого объекта для определения значения, используемого при сравнении.\n4. Лямбда-функции — это небольшие анонимные функции, которые могут принимать любое количество аргументов, но могут иметь только одно выражение. Они часто используются в качестве аргументов для функций высшего порядка, таких как `min()`, `max()`, `sorted()`, `map()`, `filter()`.\n5. Для доступа к значению по ключу в словаре используется синтаксис `словарь[ключ]`.","solutionAlgorithm":"1. Определить минимальное значение очков, используя встроенную функцию `min()`.\n2. В качестве аргумента `key` для функции `min()` передать лямбда-функцию, которая извлекает значение по ключу 'score' из каждого словаря.\n3. Из результата функции `min()` (который будет словарем с минимальным счетом) извлечь значение по ключу 'score'.\n4. Повторить шаги 1-3 для определения максимального значения очков, используя встроенную функцию `max()`.\n5. Вывести полученные минимальное и максимальное значения очков.","professorQuestions":"1. Объясните, как функция `lambda` используется для определения критерия сортировки или выбора элементов в функциях высшего порядка, таких как `min()` и `max()`?\n2. В чём заключается разница между передачей `key=lambda x: x['score']` и простым использованием `min(grades)` без аргумента `key` применительно к списку словарей?\n3. Какие проблемы могут возникнуть, если в списке `grades` будут словари без ключа `'score'`, и как можно было бы обработать такую ситуацию?\n4. Предложите альтернативный способ решения задачи без использования `lambda`-функций, но с сохранением функциональности нахождения минимального и максимального значения.\n5. Как изменится подход к решению, если потребуется найти не минимальный/максимальный балл, а словарь целиком, содержащий этот минимальный/максимальный балл?","trainingModeDraft":{"answers":[{"text":"Для фильтрации словарей, оставляя только те, которые соответствуют определенному условию.","comment":null,"isCorrect":false},{"text":"Для указания, какое значение внутри каждого словаря должно использоваться для сравнения элементов.","comment":"Аргумент `key` позволяет функциям `min()` и `max()` извлекать определенное значение из каждого элемента и использовать его для сравнения, вместо сравнения самих элементов целиком. В данном случае, лямбда-функция `lambda x: x['score']` указывает, что для сравнения нужно использовать значение по ключу 'score'.","isCorrect":true},{"text":"Для преобразования каждого словаря в другой тип данных перед сравнением.","comment":null,"isCorrect":false}],"question":"Какова основная цель использования аргумента `key` с лямбда-функцией в функциях `min()` или `max()` при работе со списком словарей?"},"__typename":"LibraryWorkExtra"},"__typename":"LibraryWork"},"isWorksListLoading":false,"isWorkDetailLoading":false}}