On 3/16/2011 3:51 PM, Santoso Wijaya wrote:
??

Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit
(AMD64)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
 >>> import sys
 >>> L = []
 >>> for i in xrange(100000):
... L.append(str(i) * (1000 / len(str(i))))
...
 >>> sys.getsizeof(L)
824464

This is only the size of the list object and does not include the sum of sizes of the string objects. With 8-byth pointers, 824464 == 8*100000 + (small bit of overhead) + extra space (for list to grow without reallocation and copy)

 >>> L = []
 >>> for i in xrange(20000):
... L.append(str(i) * (5000 / len(str(i))))
...
 >>> sys.getsizeof(L)
178024

== 8*20000 + extra

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to