【问题标题】:Why is the size not changing in the below python code?为什么下面的 python 代码中的大小没有改变?
【发布时间】:2022-01-13 07:33:05
【问题描述】:

我了解了 getsizeof() 运算符,但不能 了解原因:

导入系统

A=[(1,2,3,4)]

B=[()]

打印(sys.getsizeof(A))

打印(sys.getsizeof(B))

两者都打印 64 。这是以字节为单位的大小,但为什么它没有改变?

【问题讨论】:

    标签: python-3.x tuples size


    【解决方案1】:

    sys.getsizeof()内存中实际增加的大小。

    所以,空字符串(如 "" )占用 49 个字节。

    print(sys.getsizeof(''))
    print(sys.getsizeof(en))
    
    
    # result
    # 49
    # 76
    

    【讨论】:

      【解决方案2】:

      是的!因为你正在传递两个元组。如果要检查大小,您需要将 A 值作为列表传递,将 B 值作为元组传递。像这样 `

      import sys 
      A=[1,2,3,4] 
      B=[()]
      
      print(sys.getsizeof(A)) 
      88
      print(sys.getsizeof(B))
      64
      

      ` 这里还有一些例子:

      import sys
      a =[1, 2]
      b =[1, 2, 3, 4]
      c =[1, 2, 3, 4]
      d =[2, 3, 1, 4, 66, 54, 45, 89]
      print(sys.getsizeof(a))
      print(sys.getsizeof(b))
      print(sys.getsizeof(c))
      print(sys.getsizeof(d))
      

      【讨论】:

        【解决方案3】:

        这只是列表对象的最小尺寸。

        import sys
        
        A=(1,2,3,4)
        A_LIST=[(1,2,3,4)]
        B=[()]
        B_2=[(),()]
        
        print(sys.getsizeof(A))
        print(sys.getsizeof(A_LIST))
        print(sys.getsizeof(B))
        print(sys.getsizeof(B_2))
        
        #72
        #64
        #64
        #72
        

        Here你可以了解更多关于尺寸的信息

        【讨论】:

          猜你喜欢
          • 2021-10-25
          • 1970-01-01
          • 1970-01-01
          • 2016-02-09
          • 2022-08-21
          • 2021-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多