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

如何不使用for循环获取Python中range对象的值?

关于Python中range对象直接取值的方法

range是Python里的惰性序列,它不会预先生成所有元素,所以确实没有像dict.values()那样直接返回全部值的方法,但有几种不用手动写列表推导式的方式获取所有元素:

  • 用内置list()函数直接转换:

    list(range(10))  # 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    

    这是最常用的方式,底层虽然也是迭代,但不需要你手动写循环逻辑,Python内置函数帮你完成了迭代过程。

  • Python 3.10及以上版本,可以用*解包语法快速生成列表:

    [*range(10)]  # 输出同样是 [0, 1, 2, ..., 9]
    

    这是一种语法糖,效果和list()一致,写法更简洁。

需要注意的是,range的惰性设计是为了节省内存,比如处理range(10**8)这种超大区间时,直接转列表会占用巨量内存。如果不是必须要所有元素,尽量保持range对象的惰性使用更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:08:12