M. Словарный минимум

Вашему решению предоставлен словарь data, в котором ключами являются слова, а значениями списки чисел.

Напишите одно выражение, которое находит ключ с наименьшей суммой значений.
Если таких несколько — выберите лексикографически наименьший (т.е. тот, что раньше по алфавиту).

Примечание

В решении не должно быть ничего, кроме выражения.

Подсказка:
Воспользуйтесь шаблоном:

Python
... for word, number in data.items() if ...

Рекомендуем сформировать из словаря последовательность кортежей вида (сумма, слова). В такой последовательности легко найти слово с наименьшей суммой с помощью функции min. Результатом будет второй элемент полученного кортежа.

Пример

Ввод

data = {'a': [1, 2, 3], 'b': [2, 3, 4, 5]}

Вывод

'a'

Ввод

data = {'a': [100], 'b': [20, 5], 'c': [7, 15, 3]}

Вывод

'b'

Решение

Опять же подсказка фактически раскрывает решение. Из интересного тут разве что конструкция min(…)[1] которая берет второй элемент кортежа. Это прекрасное но не совсем очевидное следствие объектной ориентированности python.

Посмотреть код

Решение

Python
min((sum(numbers), word) for word, numbers in data.items())[1]
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии