楼主: yunnandlg
1270 0

0-10亿数字的列表对象占用多少内存? [推广有奖]

版主

但问耕耘,莫问收获

已卖:3034份资源

院士

5%

还不是VIP/贵宾

-

威望
0
论坛币
280418 个
通用积分
649.7675
学术水平
1667 点
热心指数
1686 点
信用等级
1650 点
经验
192789 点
帖子
1937
精华
0
在线时间
2786 小时
注册时间
2010-8-28
最后登录
2026-1-28

楼主
yunnandlg 在职认证  学生认证  发表于 2020-12-9 22:47:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
print(sys.getsizeof(2 ** 30-1))
print(sys.getsizeof(2 ** 30))
print(sys.getsizeof(2 ** 60-1))
print(sys.getsizeof(2 ** 60))
print(sys.getsizeof(1100000000))
print(sys.getsizeof([0,1000000000]))
print(sys.getsizeof([]))
print(sys.getsizeof([0,1]))
print(sys.getsizeof([0,1,2]))
print(sys.getsizeof([0,1,2,3]))
print(sys.getsizeof([0,1,2,3,200000]))

28
32
32
36
32
72
56
72
80
88
96


------------------------------------------------------
import time
import sys
time_start = time.time()
g1 = [x for x in range(1130000000)]
time_end = time.time()
print('列表生成式返回结果花费的时间: %s' % (time_end - time_start))
print('列表生成式返回结果占用内存大小:%s' % sys.getsizeof(g1))

0-10亿数字组成的列表对象占用内存7.51G(列表中每个数字约占8byte)
列表生成式返回结果花费的时间: 74.34925079345703
列表生成式返回结果占用内存大小:8058558872

0-11亿数字组成的列表对象占用内存8.44G(列表中每个数字约占8byte)
列表生成式返回结果花费的时间: 88.95576000213623
列表生成式返回结果占用内存大小:9065878776

0-11.1亿数字组成的列表对象占用内存8.44G(开始没变化了)
列表生成式返回结果花费的时间: 88.95576000213623
列表生成式返回结果占用内存大小:9065878776



0-11.3亿数字组成的列表对象 32G内存电脑开始悲催了
MemoryError

------------------------------------------------------
考虑用生成器
def my_range(start, end):
  for x in range(start, end):
    yield x

time_start = time.time()
g2 = my_range(0, 1000000000000000000)
time_end = time.time()
print('生成器返回结果花费的时间: %s' % (time_end - time_start))
print('生成器返回结果占用内存大小:%s' % sys.getsizeof(g2))


生成器返回结果花费的时间: 0.0
生成器返回结果占用内存大小:112
------------------------------------------------------


python中list最多可保存多少元素

32位python的限制是 536870912 个元素

64位python的限制是 1152921504606846975 个元素








二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:import print Start range yield

已有 1 人评分经验 收起 理由
cheetahfly + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

Cause morning rolls around and it's another day of sun.
清晨不久就会来到,又是阳光明媚的一天。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-30 15:21