SORU
18 Aralık 2014, PERŞEMBE


Neden bir listeden bir listesini oluşturmak daha büyük yapar mı?

Aynı listeler ne olması gerektiği üzerinde sys.getsizeof kullanırken bazı tutarsızlıklar görüyorum. (Python 2.7.5)

>>> lst = [0,1,2,3,4,5,6,7,8,9]
>>> sys.getsizeof(lst)
76
>>> lst2 = list(lst)
>>> sys.getsizeof(lst2)
104
>>> lst3 = list(lst2)
>>> sys.getsizeof(lst3)
104
>>> sys.getsizeof(lst[:])
76
>>> sys.getsizeof(lst2[:])
76

Herkes basit bir açıklaması var mı?

CEVAP
18 Aralık 2014, PERŞEMBE


Liste hazır bilgi ile, VM set uzunlukta bir liste oluşturur. list() yapıcı bir sıra geçerken unsurlar (list.extend()) tarafından eklendi ve bu liste uygun olduğunda yeniden boyutlandırıldığında. Maliyeti amorti etmek için resize operation overallocates beri, son liste genellikle Kaynak Listesi daha büyük olacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • GFX Tutorials

    GFX Tutorial

    12 AĞUSTOS 2013