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

  • BigDawsVlogs

    BigDawsVlogs

    17 HAZİRAN 2013
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009