Python 获取填充字典的大小

Python 获取填充字典的大小,python,dictionary,sizeof,content-length,Python,Dictionary,Sizeof,Content Length,我想得到python中填充字典的大小。我试过这个: >>> dict = {'1':1} >>> import sys >>> print dict {'1': 1} >>> sys.getsizeof(dict) 140 但这显然不行。我期望的返回值是2(字节)。我会有一本字典,内容如下: {'L\xa3\x93': '\x15\x015\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01=\

我想得到python中填充字典的大小。我试过这个:

>>> dict = {'1':1}
>>> import sys
>>> print dict
{'1': 1}
>>> sys.getsizeof(dict)
140
但这显然不行。我期望的返回值是2(字节)。我会有一本字典,内容如下:

{'L\xa3\x93': '\x15\x015\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01=\x00\x9d\x00^\x00e\x04\x00\x0b', '\\\xe7\xe6': '\x15\x01=\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01B\x00\xa1\x00_\x00c\x04\x02\x17', '\\\xe8"': '\x15\xff\x1d\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01:\x00\x98\x00Z\x00_\x04\x02\x0b', '\\\xe6@': '\x15\x014\x02\x00\x00\x00\x01\x02\x02\x04\x1f\x01@\x00\x9c\x00\\\x00b\x04\x00\x0b'}
我想知道我需要发送多少字节的数据。我的索引是6字节,但内容有多长?我知道这里每个索引46字节,所以我想知道我需要传输4*(6+46)字节。。。。我怎样才能做到最好

谢谢,
Ron

那么,当我需要逐字节传输内容时,只有这一点才能给出真正的长度吗

#non_mem_macs is my dictionary
for idx in non_mem_macs:
    non_mem_macs_len += len(hexlify(idx))
    non_mem_macs_len += len(hexlify(non_mem_macs[idx]))

为什么希望大小为2字节?如果您的数据是第二个示例中的bytestring,则可以使用
len(dict[key])
获取其字节长度,但dict中某个特定值的字节长度与dict本身的大小不同。是否需要通过网络或其他方式发送此数据?大小将取决于您如何序列化它。您如何获得46字节和6字节?这是我得到的两倍:
>>print([len(x)表示d.values中的x())#[23,23,23]
print([len(x)表示d.keys中的x())#[3,3,3]
是的,我在对值进行了十六进制化之后得到了这个值-这就是我需要传输它们的方式,十六进制化。。。