You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中[range(1,11)]与list(range(1,11))的区别是什么

[range(1, 11)]和list(range(1, 11))的差异

Python 3中range()返回的是惰性可迭代对象,不会一次性生成所有目标数值,仅在迭代时才会按需生成对应数值,这种设计可以极大节省大序列场景下的内存开销。两种写法的区别具体如下:

  • 写法1:numbers = [range(1, 11)]
    方括号[]是直接定义列表的语法,这里是把完整的range对象作为唯一元素放进了列表,最终得到的是长度为1的列表,结构为[range(1, 11)],不存在单个的数值元素,完全不符合习题要求。
  • 写法2:numbers = list(range(1, 11))
    list()是Python内置的列表构造器,会自动遍历传入的可迭代对象(这里就是range实例),把每次迭代生成的数值依次存入新列表,最终得到的是长度为10的列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],完全满足习题的要求。

额外补充:如果习题只是要求遍历1到100万做运算,不需要单独存储所有数值的话,直接用for i in range(1, 1000001)即可,不需要转成列表,能节省大量内存。

内容的提问来源于stack exchange,提问作者fartface87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:08