生成器不怎么占用内存但是列表会很占用空间
安装memory_profiler包
import memory_profiler as mem
print(mem.memory_usage())
gen=(i for i in range(1000000))
print(type(gen))
print(mem.memory_usage())
l1=[i for i in range(1000000)]
print(mem.memory_usage())
print(type(l1))
def fun1(num):
for i in num:
print(i)
fun1(l1)
[32.5]
<class ‘generator’>
[32.50390625]
[71.86328125]
<class ‘list’>
为内存使用数据,可以看列表的确很占用空间,可以考虑使用生成器
- 技术无止境