Відображення словника

Оновлено: 24.04.2023

Відображення словника – це, можливо, порожня серія пар ключ/дата, укладена у фігурні дужки:

dict_display       ::=  "{" [key_datum_list | dict_comprehension] "}"
key_datum_list     ::=  key_datum ("," key_datum)* [","]
key_datum          ::=  expression ":" expression | "**" or_expr
dict_comprehension ::=  expression ":" expression comp_for

Відображення словника дає новий об’єкт словника.

Якщо подано розділену комами послідовність пар ключ/дані, вони оцінюються зліва направо, щоб визначити записи словника: кожен ключовий об’єкт використовується як ключ у словнику для збереження відповідних даних. Це означає, що ви можете вказати той самий ключ кілька разів у списку ключів/даних, і остаточне значення словника для цього ключа буде останнім наданим.

Подвійна зірочка ** позначає dictionary unpacking. Його операнд має бути mapping. Кожен елемент зіставлення додається до нового словника. Пізніші значення замінюють значення, уже встановлені попередніми парами ключ/дані та попередніми розпакуваннями словника.

Розуміння dict, на відміну від списків і набору, потребує двох виразів, розділених двокрапкою, за якими слідують звичайні пропозиції «for» і «if». Коли виконується розуміння, отримані елементи ключа та значення вставляються в новий словник у тому порядку, в якому вони створені.

Обмеження щодо типів значень ключів перелічені раніше в розділі Стандартна ієрархія типів. (Підсумовуючи, тип ключа має бути hashable, що виключає всі змінні об’єкти.) Конфлікти між повторюваними ключами не виявляються; переважає остання дата (текстово крайня права на дисплеї), збережена для заданого значення ключа.