【问题标题】:Estimating how much memory a list requires - understanding how sys.getsizeof() work [duplicate]估计列表需要多少内存 - 了解 sys.getsizeof() 的工作原理[重复]
【发布时间】:2022-01-07 11:21:36
【问题描述】:

据我了解,在 Python 中,List 类型只存储指向对象的指针。 例如,当我有两个列表时:

>> a = [1,2,3,4,5,6,7]
>> b = ["1","2","3","4","5","6","7"]
>> sys.getsizeof(a) == sys.getsizeof(b)
>> True

sys.getsizeof() 返回相同的大小。

因此,基本上,列表的大小(就所需的内存而言)不取决于存储的类型。 有没有办法(通过调用单个方法/函数)找出给定列表和其中存储的元素(即使元素是大而复杂的对象)需要多少内存?

【问题讨论】:

标签: python memory-size


【解决方案1】:

正确。列表只是指向每个地址的实际内存的指针的集合。请参阅https://stackoverflow.com/a/30316760/6014330 以深入了解 Python 为内置类型管理内存的方式

【讨论】:

  • 我想知道是否有一种用于大小估计的单函数调用方法。
猜你喜欢
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多