Відображення словника
Оновлено: 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, що виключає всі змінні об’єкти.) Конфлікти між повторюваними ключами не виявляються; переважає остання дата (текстово крайня права на дисплеї), збережена для заданого значення ключа.