python - Python列表我不知道为什么差是16
问题描述
>>> import sys
>>> print(sys.getsizeof(int()))
12
>>> print(sys.getsizeof(str()))
25
>>> mylist = [1,2,3,4,5,'ab']
>>> print(id(mylist))
50204144
>>> print(id(mylist[0]))
1849873456
>>> print(id(mylist[1]))
1849873472
>>> print(id(mylist[2]))
1849873488
>>> print(id(mylist[3]))
1849873504
>>> print(id(mylist[4]))
1849873520
>>> print(id(mylist[5]))
50209152
我不知道为什么差异是 16:
64位操作系统
解决方案
因为它们在列表中是int,所以整数在内存中的位置是16 到 16位,我真心推荐你看看这篇文章:什么是 id() 函数的用途?
推荐阅读
- sql - Presto 生成 JSON 结果
- python - 如何使用 python 3.9.1 列出 mega.nz 文件夹的文件?
- mongodb - 可以混合 mongodb gorm 和常规 java
- python - 使用 set().intersection() 比较列表/字典中任意数量的 X 的多个集合
- python - 在列表中写入输入的数量小于其在 python 中的左侧数量
- java - 使用 Thymeleaf + SpringBoot 提交复选框
- kinect - Xbox 360 Kinect 仅检测为通用 USB 集线器
- c - 如果我输入字符值,则 switch case 不使用字符值开关不会遇到默认值并启动 linfinite 循环
- reactjs - 如何在 React-table 中设置单元格宽度
- javascript - 使用 jQuery 替换鼠标点击图像和 Django 不起作用