SORU
21 Ocak 2012, CUMARTESİ


Olan Python sözlük görüntülemek nesnelerin ne kadar?

Python 2.7, biz dictionary view methods kullanılabilir.

Şimdi, pro ve aşağıdaki eksilerini biliyorum:

  • dict.items() (values, keys): aslında sonuç saklayabilirsiniz böylece bir liste verir
  • dict.iteritems() (ve): her değer teker teker üzerinde oluşturulan iterable, böylece bir jeneratör döner.

dict.viewitems() (gibi) nedir? Faydaları nelerdir? Nasıl çalışır? Sonuçta bir görünüm nedir?

Görünüm her zaman sözlükten değişiklikleri yansıtan okudum. Ama nasıl bakış perf ve hafıza noktasından davranıyor mu? Pro ve eksileri nelerdir?

CEVAP
22 Ocak 2012, Pazar


Sözlük görüşlerini onların ne adını söylüyor aslındagörüşlerini sadece bir pencere gibidirsözlük anahtarları ve değerleri (veya öğeleri). Burada Python 3 için: official documentation Bu bir alıntıdır

>>> 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ğer kullanır dishes.viewkeys()*. *8)

Bu örnek gösterirgörüş dinamik karakter: anahtarlar görünümdürdeğilzaman içinde belirli bir noktada anahtarlarının bir kopyasını, daha ziyade tuşları gösteren basit bir pencere; eğer bunlar değişirse, pencereden seni görmek ne de değişmez. Bu özellik, yararlı olabilir bazı koşullar (örneğin, bir çalışma ile bir görünümün anahtarları birden çok parçanın bir program yerine yeniden geçerli liste anahtarları her zaman onlar gerekli).

Bir avantajı bubakıyoreğer, diyelim ki, sadece anahtarlarını kullanırbellek az ve sabit tutarve gerektiririşlemci zaman küçük ve sabit tutar, gibi, hiç bir yaratılış listesi anahtarları (Python 2, diğer taraftan, sık sık gereksiz yere oluşturur yeni bir liste, sözleri ile Rajendran T, bellek alır ve zaman içinde bir miktar ile doğru orantılı uzunlukta bir liste). Devam pencereden benzetme, görmek isterseniz bir manzara arkasında bir duvar, sadece bir açılış (oluşturma penceresi); kopyalama anahtarları içine bir liste olur karşılık yerine resmin bir kopyasını peyzaj duvar—kopya alır zaman, mekan, ve değil güncelleme kendisi.

Özetlemek gerekirse, görüşlerini sadece... görünümler (windows) değiştirir sonra bile sözlük içeriğini gösteren sözlüğü. Listeler farklı özellikleri sunar: anahtarları içeren bir listesikopyalasözlük anahtarlarını belirli bir noktada zaman içinde, görünüm, dinamik ve çok daha hızlı elde etmek için, öyle değil kopya herhangi bir veri (anahtarlar veya değerler) olmak için yaratılmış.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • pilslajt

    pilslajt

    20 HAZİRAN 2008
  • Viktorija A.

    Viktorija A.

    28 Mart 2009