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

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • ImBluecams

    ImBluecams

    25 Kasım 2012
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011