Выражение-генератор словаря в Python.
Для создания словарей из произвольных ключей и значений можно использовать короткий синтаксис, который подробно описан в выражении-генераторе списка и вложенных выражениях-генераторах списков.
Как и где можно применить генератор словарей.
При помощи выражения-генератора словаря можно создать словарь из списка с каким-то значением по умолчанию для ключей, тем самым повторить метод dict.fromkeys() :
При создании словарей при помощи выражения-генератора следует помнить, что ключами key словаря могут быть только неизменяемые (хешируемые) объекты:
Поменять местами ключ и значение в словаре.
Меняем местами ключ и значение в словаре, используя генератор словаря. При этом помним, что ключом может быть только неизменяемый объект.
Фильтровать словарь по ключу и/или значению.
Удалять дубликаты словарей из списка с определенным одинаковым ключом.
Представим, что есть список словарей, в которых одно из значений используется в качестве идентификатора пользователя:
Стоит задача — удалить дубликаты словарей, содержащие одинаковые значения определенного ключа. В данной ситуации будем удалять словари с одинаковым значение ключа uuid .
Смена мест между ключами и их значениями
Необходимо сделать так, чтобы имена значений находились на местах ключей, а ключи, в свою очередь, находились на местах значений, к которым они присоединены.
Пробовал сделать подобным образом:
И только после вспомнил, что кортежи неизменяемые 🙂
Посоветуйте, как быть?
![]()
Чтобы поменять местами ключи и значения в словаре:
Если значения неуникальны, то последнее среди дубликатов выигрывает — это значит, результат может меняться в зависимости от конкретной реализации Питона и даже от запуска к запуску на некоторых версиях, так как Питон не гарантирует порядок записей для словарей (до Python 3.7)
Нельзя применить reverse() к tuple , зато можно сделать reversed() (обращенную копию):
Но, конечно, применение reversed() для «обращения» кортежа из двух элементов — несколько избыточно.
Инвертируем ключи и значения в словаре
Напишите функцию, которая будет менять местами ключи и значения в словаре.
Примеры:
Варианты решения:

Английский для программистов
Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас