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ş:
Neden TextBox ekleme yapar.Bir döngü s...
Neden knockout.js büyük için küçük pro...
Neden Java büyük bir dosyayı C den dah...
Neden IE şifre kutuları, metin kutular...
Neden bir hata alıyorum&; bulamadı ya ...