Перегляди словників - це, по суті, те, що говорить їх назва: погляди просто як вікно на клавіші та значення (або елементи) словника. Ось уривок з офіційної документації для Python 3:
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> # view objects are dynamic and reflect dict changes
>>> del dishes['eggs']
>>> keys # No eggs anymore!
dict_keys(['sausage', 'bacon', 'spam'])
>>> values # No eggs value (2) anymore!
dict_values([1, 1, 500])
(Еквівалент Python 2 використовує dishes.viewkeys()
і dishes.viewvalues()
.)
Цей приклад показує динамічний характер переглядів : перегляд клавіш - це не копія клавіш у заданий момент часу, а швидше вікно, яке показує вам клавіші; якщо вони змінені, то те, що ви бачите через вікно, теж змінюється. Ця функція може бути корисною в деяких обставинах (наприклад, можна працювати з видом на клавіші в декількох частинах програми, замість того, щоб перераховувати поточний список клавіш кожного разу, коли вони потрібні) - зауважте, що якщо словники змінюються в той час, як ітератор над поданням, як ітератор повинен поводитися, недостатньо визначений, що може призвести до помилок .
Одним з переваг є те , що , дивлячись на, скажімо, ключі використовують тільки невеликий фіксований обсяг пам'яті і вимагає невеликого і фіксованої кількості процесорного часу , так як немає створення списку ключів (Python 2, з іншого боку, часто необгрунтовано створює новий список, процитований Раджендраном Т, який займає пам'ять та час у кількості, пропорційній довжині списку). Щоб продовжити аналогію вікна, якщо ви хочете побачити пейзаж за стіною, ви просто зробите в ньому отвір (ви будуєте вікно); копіювання ключів у список відповідатиме замість того, щоб намалювати копію пейзажу на вашій стіні - копія займає час, простір та не оновлюється сама.
Підводячи підсумок, погляди - це просто… перегляди (вікна) вашого словника, які показують вміст словника навіть після його зміни. Вони пропонують функції, що відрізняються від списків: список клавіш містить копію словникових клавіш у певний момент часу, тоді як перегляд є динамічним і його набагато швидше отримати, оскільки не потрібно копіювати жодних даних ( ключі або значення) для їх створення.