Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

我们可以使用sys模块的getsizeof函数来检查存储同样的元素的元组和列表各自占用了多少内存空间

f = [x ** 2 for x in range(1, 1000)]
print(sys.getsizeof(f))  # 查看对象占用内存的字节数

我们可以在ipython中使用魔法指令%timeit来分析创建同样内容的元组和列表所花费的时间

>ipython
Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: %timeit [1,2,3]
41.2 ns ± 0.428 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)

In [2]: %timeit (1,2,3)
7.3 ns ± 0.0727 ns per loop (mean ± std. dev. of 7 runs, 100,000,000 loops each)

评论