勃艮第red 2021-08-27 11:45 采纳率: 63.6%
浏览 55
已结题

修改可变类数据为什么不会修改可变类数据的内存地址

import sys
a=[]
print(sys.getsizeof(a))
id(a)
#56
#2874643633536
for i in range(100):
    a.append(i)
print(sys.getsizeof(a))
id(a)
#904
#2874643633536

创建一个列表,其id内存地址会指向储存这个列表的内存空间。为什么列表扩容,申请新的内存空间后,内存地址不会改变呢?这个内存地址增大了不就不是原来的内存空间了嘛?其内存地址不应该有所变化来体现?基础薄弱,求解~

  • 写回答

3条回答 默认 最新

  • orange4reg 2021-08-27 13:44
    关注

    你问题问得很好。等等我给你解释,这里涉及到内存碎片。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 火车票关联12306问题
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算