0 / 0 / 0
Регистрация: 25.02.2020
Сообщений: 24

Компактная версия словаря

22.06.2020, 23:48. Показов 3264. Ответов 21

Студворк — интернет-сервис помощи студентам
Написал функцию, она создаёт изменённый словарь:
Python
1
2
3
4
5
6
7
d1 = {1 : 2, 3 : 4, 5 : 4, 7 : 2, 9 : 4}
def swap_dict (d):
    rd = {}
    for k, v in d.items():
        rd[v] = rd.get(v, []) + [k]
    return rd
print(swap_dict(d1))
Как сделать, чтобы функция создавала его компактную версию?
В компактном словаре ключи сгруппированы по исходным значениям dict в кортежи.
Пример: словарь {1: 2, 3: 4, 5: 4, 7: 2, 9: 4}, сжатый в {(3, 9, 5): 4, (1, 7): 2}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.06.2020, 23:48
Ответы с готовыми решениями:

Из словаря создается объект, именами атрибутов которого будут ключи словаря
Из словаря создается объект, именами атрибутов которого будут ключи словаря, а значениями - значения из словаря по заданным ключам (a,b,c),...

Как проверить наличие значения словаря словаря в словаре словарей?
есть массив parsdata, который содержит результаты парсинга. нужно проверить, спарсилось ли что-то новое. или нет в сравнении со словарем...

Как можно сделать сортировку словаря по значениям из другого словаря
Ребят, не подскажите как можно сделать сортировку словаря по значениям из другого словаря? Например, у меня есть некий уже готовый и...

21
enx
 Аватар для enx
1191 / 767 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
16.03.2022, 10:11
Студворк — интернет-сервис помощи студентам
Stakanovec, вот пример прошлого кода, я в нем подправил одну маленькую деталь, у тебя должен был возникнуть вопрос, почему это работает в 4 строке, почему не получится просто + key или + (key), почему там стоит запятая и т.д:


Python
1
2
3
4
5
6
7
8
9
def foo(dct):
    res = {}
    for key, val in dct.items():
        res[val] = res.get(val, ()) + (key,)
    return res
 
 
input_dict = {1: 2, 3: 4, 5: 4, 7: 2, 9: 4}
print(foo(input_dict))
А вот теперь квест для тебя, подумай, почему значения в итоге получатся кортежами?
0
0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83
16.03.2022, 11:42
Цитата Сообщение от enx Посмотреть сообщение
Stakanovec, вот пример прошлого кода, я в нем подправил одну маленькую деталь, у тебя должен был возникнуть вопрос, почему это работает в 4 строке, почему не получится просто + key или + (key), почему там стоит запятая и т.д:
(key,) - ты имеешь в виду запятая здесь? так метод гет принимает значение дефолт, значение, которое нужно вернуть в случае, если ключа не существует

Цитата Сообщение от enx Посмотреть сообщение
А вот теперь квест для тебя, подумай, почему значения в итоге получатся кортежами?
ну мы ведь ключи обращаем в зачения и добавляем в кортеж, только сдесь res.get(val, ()) + (key,) должно быть так res.get(val, tuple()) + (key,), как я понимаю. я прав?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2022, 11:42

Компактная таблица
Добрый день! Посоветуйте пожалуйста какой-нибудь data grid или как сделать компактную таблицу. Стек html, css, js. Спасибо!

Компактная загрузка изображения
Пытаюсь написать код который будет загружать картинку на сайт не перезагружая страницу целиком. index.php ...

Замена STL (компактная)
При подключении STL в GCC размер exe-файла увеличивается примерно на 600 кб Подскажите, пожалуйста, любую альтернативу. Пусть даже не...

Компактная запись метода
Доброго времени суток, форумчане! Подскажите пожалуйста, как с помощью Linq более компактно и кратко записать сей метод DateTime...

Компактная инициализация списка списков
Чтобы составить двумерный несимметричный массив из заранее известных объектов, делаю так: //основной список List<MyObject>...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru