课时11:range

简介: 本文介绍了Python中的`range`函数及其与循环的关系。`range`用于生成自然数序列,常与`for`循环配合使用,简化循环操作。`range`接受三个参数:起始值、结束值和步长,默认从0开始,步长为1。例如,`range(5)`生成0到4的序列。通过`list(range(5))`可直观查看结果。此外,`for`循环能遍历多种序列,如字符串。最后,建议读者通过练习巩固对`for`循环的理解。

Range

 

摘要

01.关于Range的介绍

02.Range与循环的关系

03.练习任务

 

01.关于Range的介绍

1.1 Range的基本概念

在Python中,range严格意义上来说不是函数,更准确地说是构造函数,但暂时可当作函数看待。它主要用于生成一个由自然数组成的序列。

 

1.2.Range的使用示例及结果解读

当执行r = range(5)时,如果直接打印R,会得到range(0, 5)的结果。这表示它生成了一个从0开始到4结束(不包含5)的自然数序列,即0、1、2、3、4。

若想直观看到这个序列中的数字,可以将Range生成的R转换为list类型,即list(R),此时就会得到[0, 1, 2, 3, 4]。

代码:

r = range(5)
print(list(r))

执行结果:

image.png

 

1.3range函数的参数

range函数需要三个参数,分别是起始位置、结束位置和步长。

起始位置默认是0,可以省略;步长默认是1,也可以省略。例如,range(10)等同于range(0, 10)。

代码:

r = range(5)
r = range(0,10)

执行结果:

image.png

当执行range(3, 10)时,会得到一个从3开始到9结束(不包含10)的自然数序列;

image.png

当执行range(0, 10, 2)时,会得到[0, 2, 4, 6, 8],即按照步长为2生成序列;

image.png

当执行range(0, 10, - 1)时,什么都没有;因为方向写错了

image.png

当执行range(10, 0,  -1)时,会得到[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]。

image.png

range可以很方便的生成自然数序列。


02. Range 与循环的关系

2.1 Range在 For 循环中的应用

Range常与For循环配合使用,用于创建指定次数的循环。例如,在For循环中,for a in range(10)会创建一个从0到9的循环变量a,这个循环会执行10次。

相比之下,循环如果要实现相同的功能则较为复杂。例如,使用循环实现从0到9的循环,需要初始化变量i = 0,然后在循环体中设置条件i < 10并且每次循环后执行i += 1。

for循环除了创建方式与While循环不同外,在其他方面如else、break、continue等语句的使用上基本相同,并且For循环使用起来更加简便。相比之下 For循环的使用度高些。

代码:

for i in range(10)
print(i)

执行结果:

image.png

通过Range()可以创建一个执行指定次数的For循环 ,想执行多少次就写多少。

2.2 For循环的遍历功能

For循环可以遍历多种序列,不仅仅是Range生成的序列。例如,对于字符串 "Hello" ,可以使用for s in "Hello"进行遍历,此时s依次取值为H、E、L、L、O。

 

03.练习任务

将之前使用循环完成的练习,使用For循环重新做一次。这一练习的目的在于学习For循环并且复习之前的知识。

相关文章
|
5月前
|
存储 Java Linux
详细地说一说零拷贝
我是小假 期待与你的下一次相遇 ~
313 1
详细地说一说零拷贝
|
Serverless BI Python
Python中的for循环和range()函数用法详解
Python中的for循环和range()函数用法详解
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
XML JSON API
带你了解淘宝API是如何使用的
淘宝API使用介绍:需先注册开发者账号并创建应用以获取appkey和appsecret。熟悉API文档,了解接口功能和调用方式。调用地址为http://gw.api.taobao.com/router/rest,支持GET/POST方式。调用时需进行签名验证,返回数据主要为xml/json格式,需注意接口访问频次限制等。
带你了解淘宝API是如何使用的
|
11月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
462 7
|
程序员 Python 容器
python 中的 collections 模块:常用数据结构和工具详解
python 中的 collections 模块:常用数据结构和工具详解
134 0
|
Java BI 程序员
「软件项目管理」成本估算模型——Walston-Felix模型和COCOMO Ⅱ模型
该文章深入探讨了两种软件项目成本估算模型——Walston-Felix模型和COCOMO II模型,详细解释了各自的计算公式、应用背景及步骤,并通过具体示例展示了如何使用这两种模型来进行准确的成本预测。
「软件项目管理」成本估算模型——Walston-Felix模型和COCOMO Ⅱ模型
|
测试技术 开发工具 git
掌握Git分支管理,提升团队协作效率
掌握Git分支管理,提升团队协作效率
208 0
|
算法 安全 Java
java将list中的某个元素移动位置
【2月更文挑战第12天】
479 0
|
机器学习/深度学习 人工智能 算法
在对齐 AI 时,为什么在线方法总是优于离线方法?
【5月更文挑战第28天】在线AI对齐优于离线方法的原因在于其能更好地捕捉人类反馈的细微差别,通过多样化和相关的数据生成。尽管离线方法效率高、可利用大规模数据,但其数据集可能无法全面反映实际应用场景。研究强调在线采样的关键作用,但也指出离线对齐的效率和泛化优势。[查看论文](https://arxiv.org/abs/2405.08448)以获取详细信息。
269 2