为什么此代码段使用两个不同的函数提供不同的字节大小。我使用的是32位版本的python 2.7.3
1)使用词典: -
from sys import getsizeof
l = range(20)
d = {k:v for k,v in enumerate(l)} #creating a dict
d.__sizeof__() #gives size in bytes
508 #size of dictionary 'd' in bytes
getsizeof(d)
524 #size of same dictionary 'd' in bytes (which is different then above)
2)与列表: -
from sys import getsizeof
l = range(20)
l.__sizeof__()
100 #size of list 'l' in bytes
getsizeof(l)
116 #size of same list 'l' in bytes
3)与元组: -
from sys import getsizeof
t = tuple(range(20))
t.__sizeof__()
92 #size of tuple 't' in bytes
getsizeof(t)
108 #size of same tuple 't' in bytes
当有两个函数的文档说它们以字节为单位返回对象的大小时,有人会告诉我为什么会出现这种行为。
答案 0 :(得分:4)