Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python3中range函数的变化

python3中range函数的变化

作者头像
py3study
发布于 2020-01-09 07:51:33
发布于 2020-01-09 07:51:33
1K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

Introduction

今天写代码需要生成一个整数构成的list,于是很自然地想到range函数。可以当我将生成的内容传入一个需要list参数的函数中,奇怪的事情发生了,竟然提示传入的不是一个list。于是上网寻求解决方法,并进行验证。原来在python3中range的实现变了,并不是返回一个list类型,而是返回一迭代对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(type(range(1,4)))
# 输出:<class 'range'>
print(range(1,4))
# 输出:range(1, 4)
a = list(range(1,4))
print(type(a))
#输出:<class 'list'>
for i in range(1,4):
    print(i)
#输出:1 2 3

Explain

可以看到range()函数返回的是一个range对象。不过可以使用list()函数将其转换成list对象。range是一个可迭代的对象,可以使用for循环迭代输出。 貌似这样的设计很反人类,但是设计者这样设计,一定是为了某些特殊的原因。这种设计其实为了节省内存,官网有英文的说明。下面是一位网友给出的翻译。 在很多种情况下,range()函数返回的对象的行为都很像一个列表,但是它确实不是一个列表,它只是在迭代的情况下返回指定索引的值,但是它并不会在内存中真正产生一个列表对象,这样也是为了节约内存空间。

我们称这种对象是可迭代的,或者是可迭代对象,还有一种对象叫迭代器,它们需要从一个可迭代对象中连续获取指定索引的值,一直到索引结束。list()函数就是这样一个迭代器,它可以把range()函数返回的对象变成一个列表。

Summary

range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。 list() 函数是对象迭代器,把对象转为一个列表。返回的变量类型为列表。

参考文章:python3中的range函数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【深度学习】强化学习(五)深度强化学习
  强化学习的基本任务是通过智能体与环境的交互学习一个策略,使得智能体能够在不同的状态下做出最优的动作,以最大化累积奖励。这种学习过程涉及到智能体根据当前状态选择动作,环境根据智能体的动作转移状态,并提供即时奖励的循环过程。
Qomolangma
2024/07/30
4590
【深度学习】强化学习(五)深度强化学习
强化学习-让机器自己学习
强化学习(Reinforcement Learning,简称RL)是机器学习的一个重要分支,前段时间人机大战的主角AlphaGo正是以强化学习为核心技术击败人类。在强化学习中,包含两种最基本的元素:状态与动作,在某个状态下执行某种动作,这便是一种策略,学习器要做的就是通过不断探索学习,从而获得一个好的策略。例如:在围棋中,一种落棋的局面就是一种状态,若能知道每种局面下的最优落子动作,那就必胜无疑。
CristianoC
2020/05/31
5470
神经网络与强化学习:揭示AI的超能力
人工智能(AI)领域在过去几年取得了巨大的进展,其中神经网络和强化学习技术的发展尤为引人注目。这两者结合在一起,正在为AI赋予一种超能力,使其能够在各种领域实现卓越的表现。本文将深入探讨神经网络和强化学习的关键概念,以及它们如何相互结合,为AI赋予超能力。
IT_陈寒
2023/12/13
5180
神经网络与强化学习:揭示AI的超能力
深度学习(七)深度强化学习:融合创新的智能之路(7/10)
深度强化学习作为一种融合了深度学习和强化学习的新技术,在人工智能领域占据着至关重要的地位。它结合了深度学习强大的感知能力和强化学习优秀的决策能力,能够处理复杂的任务和环境。例如,在游戏领域,深度强化学习模型如 AlphaGo 等在围棋领域战胜了世界冠军,展现出了超越人类的智能水平。在机器人控制方面,深度强化学习可以让机器人通过与环境的交互,学习到优化的控制策略,从而在复杂环境下执行任务和决策,为工业自动化和智能家居等领域带来了新的发展机遇。
正在走向自律
2024/12/18
2920
深度学习(七)深度强化学习:融合创新的智能之路(7/10)
强化学习算法在游戏、机器人和自动驾驶等领域的应用与实践
强化学习是一种机器学习方法,通过智能体与环境的交互来求解最优决策问题。近年来,强化学习算法在游戏、机器人和自动驾驶等领域得到了广泛的应用与实践。本文将详细探讨强化学习算法在这些领域中的具体应用,并介绍一些相关的实践案例。
网络技术联盟站
2023/07/04
8000
强化学习算法在游戏、机器人和自动驾驶等领域的应用与实践
强化学习概述
强化学习(Reinforcement Learning, RL)是一种机器学习范式,其中学习的主体(Agent)通过与环境的交互来最大化累积回报。强化学习与监督学习和无监督学习有所不同,主要体现在学习的方式和目标上:强化学习通过探索与试错的方式,学习如何采取行动以获得最大的回报,而非从已标注的数据中学习。
LucianaiB
2025/01/27
1780
深度强化学习(DRL)专栏(一)
【磐创AI导读】:本篇文章是深度强化学习专栏的第一篇,讲了引言和强化学习基础知识,希望对大家有所帮助。查看上篇关于本专栏的介绍:深度强化学习(DRL)专栏开篇。想要获取更多的机器学习、深度学习资源,欢迎大家点击上方蓝字关注我们的公众号:磐创AI。
磐创AI
2019/09/03
1.4K0
深度强化学习(DRL)专栏(一)
从游戏AI到自动驾驶,一文看懂强化学习的概念及应用
强化学习(Reinforcement Learning,简称RL,又译为“增强学习”)这一名词来源于行为心理学,表示生物为了趋利避害而更频繁实施对自己有利的策略。例如,我每天工作中会根据策略决定做出各种动作。如果我的某种决定使我升职加薪,或者使我免遭处罚,那么我在以后的工作中会更多采用这样的策略。
IT阅读排行榜
2019/08/19
9780
从游戏AI到自动驾驶,一文看懂强化学习的概念及应用
【SARL】单智能体强化学习(Single-Agent Reinforcement Learning)《纲要》
强化学习(Reinforcement Learning,简称 RL)是一种让机器“通过尝试和错误学习”的方法。它模拟了人类和动物通过经验积累来学会做决策的过程,目的是让机器或智能体能够在复杂的环境中选择最优的行为,从而获得最大的奖励。
不去幼儿园
2024/12/18
1720
【SARL】单智能体强化学习(Single-Agent Reinforcement Learning)《纲要》
通俗讲解强化学习!
知乎 | https://www.zhihu.com/people/xu-xiu-jian-33
Datawhale
2021/12/09
7630
通俗讲解强化学习!
一文了解强化学习
虽然是周末,也保持充电,今天来看看强化学习,不过不是要用它来玩游戏,而是觉得它在制造业,库存,电商,广告,推荐,金融,医疗等与我们生活息息相关的领域也有很好的应用,当然要了解一下了。 本文结构: 定义 和监督式学习, 非监督式学习的区别 主要算法和类别 应用举例 ---- 1. 定义 强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决 decision making 问题,即自动进行决策,并且可以做连续决策。 它主要包含四个元素,agent,环境状态,行动,奖励, 强化学习的目标
杨熹
2018/04/03
8260
一文了解强化学习
机器学习——强化学习与深度强化学习
近年来,强化学习(Reinforcement Learning, RL)在多个领域取得了巨大的进展。从早期简单的迷宫导航问题到今天 AlphaGo 击败围棋世界冠军,强化学习的潜力得到了充分展现。而随着深度学习的引入,深度强化学习(Deep Reinforcement Learning, DRL)更是将这一技术推向了前所未有的高度。本篇文章将深入探讨强化学习与深度强化学习的基本原理、常见算法以及应用场景,旨在为读者提供一个详尽的学习路线图。
hope kc
2024/10/09
2.1K0
什么是强化学习?强化学习有哪些框架、算法、应用?
强化学习是人工智能领域中的一种学习方式,其核心思想是通过一系列的试错过程,让智能体逐步学习如何在一个复杂的环境中进行最优的决策。这种学习方式的特点在于,智能体需要通过与环境的交互来获取奖励信号,从而逐步调整自己的行动策略,以期在长期的时间尺度下获得最大的总奖励。
网络技术联盟站
2023/05/14
2.1K0
什么是强化学习?强化学习有哪些框架、算法、应用?
TensorFlow 强化学习:6~10
到目前为止,我们已经涵盖了大多数重要主题,例如马尔可夫决策过程,值迭代,Q 学习,策略梯度,深度 Q 网络和参与者批评算法。 这些构成了强化学习算法的核心。 在本章中,我们将继续从演员评论家算法中停止的地方继续搜索,并深入研究用于深度强化学习的高级异步方法及其最著名的变体异步优势演员评论家算法,通常称为 A3C 算法。
ApacheCN_飞龙
2023/04/27
5640
【RL Latest Tech】安全强化学习(Safe RL):理论、方法与应用
在强化学习(Reinforcement Learning, RL)中,智能体通过与环境的交互来学习一个策略,以最大化长期累积回报。然而,传统的强化学习算法在优化回报时往往不考虑智能体行为的安全性,导致在训练或部署过程中可能出现不安全的行为。**安全强化学习(Safe Reinforcement Learning,Safe RL)**正是在此背景下提出的,它旨在在优化回报的同时确保智能体的行为符合某些安全约束。这对于实际应用尤为重要,如自动驾驶、机器人控制、医疗系统等场景中,安全问题至关重要,任何不安全的行为都可能带来严重后果。下图是约束策略优化(Constrained Policy Optimization, CPO)算法图。
不去幼儿园
2024/12/03
2990
【RL Latest Tech】安全强化学习(Safe RL):理论、方法与应用
强化学习常用算法+实际应用 ,必须get这些核心要点!
强化学习是一种机器学习技术,它使代理能够使用自身行为和经验的反馈通过反复试验在交互式环境中学习。
新智元
2020/02/13
8160
2017年十大技术突破之强化学习
作者|Will Knight 译者|严子怡 编辑|Emily 12 月,在巴塞罗那举行的今年最大的人工智能会议上,我目睹了这场模拟驾驶的全过程。最让我惊讶的是,控制这些车的软件根本不是用常规的方式编写的。它仅仅通过不断的练习,学会了如何顺利又安全地并道。在训练的过程中,控制软件不停地进行演习,每一次演习都会对操作步骤进行一些修改。在大多数的演习中,并道都进行得太过缓慢,并且经常干扰到其他车辆。但是,一旦并道的过程进行的非常顺利,这个系统就会学习并偏向导致该结果的行为。 这种被称为强化学习的方法,很大程度
企鹅号小编
2018/01/15
6880
2017年十大技术突破之强化学习
【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习
【新智元导读】AlphaGo的巨大成功掀起了围棋界三千年未有之大变局,也使得深度强化学习(Deep Reinforcement Learning)渐为大众熟悉。尤其是最新推出的AlphaGo Zero完全摒弃了人类知识,并且三天内碾压了早期版本的AlphaGo,更足显强化学习和深度学习结合的巨大威力。AlphaGo Zero的论文侧重于描述效果,对于方法的论述比较简短,没有相关背景的人读起来可能会有一些困难。本文对强化学习以及AlphaGo Zero算法做了详细描述。 作者简介:王晶,Google广告大数据
新智元
2018/03/21
1.6K0
【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习
【机器学习】机器学习重要分支——强化学习:从理论到实践
强化学习(Reinforcement Learning, RL)作为机器学习的重要分支之一,通过与环境交互、试错学习来优化决策策略,已在机器人控制、游戏AI、自动驾驶等领域展现出巨大的潜力。本文将深入探讨强化学习的基本原理、核心算法及其在实际中的应用,并提供代码示例和图表以帮助读者更好地理解和掌握这一技术。
E绵绵
2024/06/17
1.2K0
一文读懂强化学习:RL全面解析与Pytorch实战
强化学习(Reinforcement Learning, RL)是人工智能(AI)和机器学习(ML)领域的一个重要子领域,与监督学习和无监督学习并列。它模仿了生物体通过与环境交互来学习最优行为的过程。与传统的监督学习不同,强化学习没有事先标记好的数据集来训练模型。相反,它依靠智能体(Agent)通过不断尝试、失败、适应和优化来学习如何在给定环境中实现特定目标。
TechLead
2023/10/21
2.7K0
一文读懂强化学习:RL全面解析与Pytorch实战
推荐阅读
相关推荐
【深度学习】强化学习(五)深度强化学习
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验