2010-08-28 22 views
9

Python'daki kümelerin boyutu neden aynı öğelerdeki listelerden önemli ölçüde daha büyüktür?Python'daki listeler neden daha büyüktür?

a = set(range(10000)) 
b = list(range(10000)) 
print('set size = ', a.__sizeof__()) 
print('list size = ', b.__sizeof__()) 

çıkışı: hızla vb yinelenen girdileri algılayabilir ve bu nedenle tüm unsurların sağlamalarının bir tablo depolar olarak

set size = 524488 
list size = 90088 
+2

Neden '' 9999 ''b 9999’dan daha hızlı çalışıyor? –

+0

Python listesi dinamik bir dizi gibi uygulanır, açıkçası çoğu veri yapısı (tuples hariç) daha fazla bellek tüketir. –

cevap

15

setlist daha fazla bellek kullanır. Bu yüzden her set üyesi be hashable olmalıdır.

İlgili konular