Есть словарь code_to_name = {"RU": "Russia", "FR": "France"}. Нужно получить обратное отображение name_to_code (предполагаем, что значения уникальны). Какой вариант корректен?

A{v: k for k, v in code_to_name.items()}
B{k: v for k, v in code_to_name.items()}
Cdict(code_to_name.items())
Dlist(code_to_name.items())
Правильный ответ. Через .items() удобно взять пары ключ-значение и поменять их местами в dict comprehension.

Разбор

В выражении {v: k for k, v in code_to_name.items()} мы явно меняем местами ключ и значение: новый ключ — это старое значение v, а новое значение — старый ключ k. Важно, чтобы значения были уникальны, иначе при инвертировании ключи начнут перезаписываться.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

Ещё вопросы по теме «Генераторы списков и встроенные функции»