Sözlük görünümleri aslında adlarının söylediği şeydir: görünümler bir sözlüğün anahtarları ve değerleri (veya öğeleri) üzerindeki bir pencere gibidir . İşte Python 3 için resmi belgelerden bir alıntı :
>>> 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 eşdeğeri dishes.viewkeys()
ve kullanır dishes.viewvalues()
.)
Bu örnek gösterir görüş dinamik karakteri : tuşları görüntülemek olduğu değil zaman içinde belirli bir noktada tuşların bir kopyası değil, basit bir pencere gösterir Anahtarlar; değiştirildiyse, pencereden gördükleriniz de değişir. Bu özellik bazı durumlarda yararlı olabilir (örneğin, her gerekli olduklarında geçerli anahtar listesini yeniden hesaplamak yerine bir programın birden çok bölümündeki tuşlar üzerinde bir görünümle çalışılabilir); görünüm üzerinde yineleme yaparken yineleyicinin nasıl davranması gerektiği iyi tanımlanmamıştır ve bu da hatalara yol açabilir .
Bir avantajı , diyelim ki, tuşlara bakmak sadece küçük ve sabit bir bellek kullanır ve bir anahtar listesi oluşturulmadığı için küçük ve sabit bir işlemci süresi gerektirir (Öte yandan, Python 2, genellikle gereksiz yere Rajendran T tarafından alıntılandığı gibi, listenin uzunluğuyla orantılı bir miktarda bellek ve zaman alan yeni bir liste oluşturur). Pencere benzetmesine devam etmek için, bir duvarın arkasında bir manzara görmek istiyorsanız, sadece bir açıklık yaparsınız (bir pencere inşa edersiniz); anahtarları bir listeye kopyalamak, bunun yerine duvardaki manzaranın bir kopyasını boyamaya karşılık gelir - kopya zaman, yer kaplar ve kendini güncellemez.
Özetlemek gerekirse, görünümler basitçe… sözlüğünüzde değiştikten sonra bile içeriğini gösteren görünümlerdir (pencereler). Listelerinkinden farklı özellikler sunarlar: bir anahtar listesi, belirli bir zamanda sözlük anahtarlarının bir kopyasını içerirken, bir görünüm dinamiktir ve herhangi bir veri kopyalamak zorunda olmadığından elde edilmesi çok daha hızlıdır ( anahtarlar veya değerler) oluşturabilirsiniz.