美文网首页
python中的len()和sys.getsizeof()方法

python中的len()和sys.getsizeof()方法

作者: kerooooo | 来源:发表于2020-10-04 11:10 被阅读0次

    len()查询容器中包含的项目数。对于字符串,即字符数:
    返回对象的长度(项目数)。参数可以是序列(字符串,元组或列表)或映射(字典)。

    sys.getsizeof()另一方面,返回对象的内存大小:
    返回对象的大小(以字节为单位)。该对象可以是任何类型的对象。所有内置对象都将返回正确的结果,但是对于第三方扩展,这不一定成立,因为它是特定于实现的。

    Python字符串对象不是简单的字符序列,每个字符1个字节。
    具体来说,该sys.getsizeof()函数包括垃圾收集器开销(如果有):
    getsizeof():如果对象由垃圾收集器管理,则调用该对象的方法并添加额外的垃圾收集器开销。不需要跟踪字符串对象(它们不能创建循环引用),但是字符串对象确实需要更多的内存,而不仅仅是每个字符的字节数。

    import sys
    list1 = []
    trip1 = ('a','b','c','d')
    set1 = {'a','b','c','d','e'}
    
    print('列表的长度为:', len(list1))
    print('元组的内存为:', len(trip1))
    print('集合的内存为:', len(set1))
    
    print('列表的内存为:', sys.getsizeof(list1))
    print('元组的内存为:', sys.getsizeof(trip1))
    print('集合的内存为:', sys.getsizeof(set1))
    

    运行程序:
    列表的长度为: 0
    元组的内存为: 4
    集合的内存为: 5
    列表的内存为: 28
    元组的内存为: 36
    集合的内存为: 364

    相关文章

      网友评论

          本文标题:python中的len()和sys.getsizeof()方法

          本文链接:https://www.haomeiwen.com/subject/fecnuktx.html