Python中的range()函数详解:掌握迭代的利器

更多资料获取

📚 个人网站:ipengtao.com


Python中的range()函数是一个强大的工具,用于生成一系列的数字,常用于循环操作。虽然看似简单,但其灵活性和功能却不容小觑。在本文中,将深入研究range()函数,探讨其用法、参数和一些高级技巧,帮助你更好地利用这个迭代工具。

range()函数的基础用法

首先,来看一下range()函数的基本用法。range()函数可以接受一个、两个或三个参数,分别表示起始值、结束值和步长(默认为1)。

# 基本用法
for i in range(5):print(i, end=' ')
# 输出: 0 1 2 3 4

上述示例中,range(5)生成了一个从0到4的整数序列,被用于for循环,依次打印了这些数字。

指定起始值和结束值

也可以通过指定起始值和结束值来创建一个范围。这在需要非零起始值或以不同步长进行迭代时非常有用。

# 指定起始值和结束值
for i in range(2, 8):print(i, end=' ')
# 输出: 2 3 4 5 6 7

在这个例子中,range(2, 8)生成了一个包含2到7的整数序列。

设置步长

range()函数的第三个参数可以设置步长。这意味着可以按照自定义的步长跳过一些值。

# 设置步长
for i in range(1, 10, 2):print(i, end=' ')
# 输出: 1 3 5 7 9

上述代码中,range(1, 10, 2)生成了一个包含1到9的奇数序列。

逆序迭代

range()函数同样可以被用于逆序迭代。通过设置适当的起始值、结束值和负的步长,可以轻松地逆序生成一个序列。

# 逆序迭代
for i in range(10, 0, -2):print(i, end=' ')
# 输出: 10 8 6 4 2

在这个例子中,range(10, 0, -2)生成了一个逆序的偶数序列。

创造列表

除了在循环中使用,range()函数还可以用于创建列表。通过将range()的输出传递给list()函数,可以得到一个包含特定范围内所有整数的列表。

# 创建列表
my_list = list(range(3, 9))
print(my_list)
# 输出: [3, 4, 5, 6, 7, 8]

这是一个将range()list()结合使用的常见用法。

使用range()生成字母序列

有时候,希望生成字母序列而不是数字序列。这时,可以借助ord()chr()函数将字符转换为相应的ASCII码和反向转换。

# 生成字母序列
for char in map(chr, range(ord('A'), ord('G'))):print(char, end=' ')
# 输出: A B C D E F

这个例子中,range(ord('A'), ord('G'))生成了从’A’到’F’的ASCII码序列,然后通过map()chr()将其转换为字符序列。

range()与列表切片

range()函数还可以与列表切片结合,用于生成指定范围内的索引序列。

# 与列表切片结合
my_list = ['apple', 'orange', 'banana', 'grape']
for i in range(len(my_list)):print(my_list[i], end=' ')
# 输出: apple orange banana grape

在这个例子中,range(len(my_list))生成了一个与my_list长度相同的索引序列,用于访问列表中的元素。

高级技巧:生成不等间隔的浮点数

如果你需要生成不等间隔的浮点数序列,可以结合numpy库的arange()函数和range()函数。

import numpy as np# 生成不等间隔的浮点数序列
for num in np.arange(0, 1, 0.1):print(num, end=' ')
# 输出: 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

这个例子中,np.arange(0, 1, 0.1)生成了一个以0.1为步长的浮点数序列。

总结

在Python编程中,range()函数作为一个简单而强大的迭代工具,为程序员提供了灵活性和效率。通过对其参数和用法的深入理解,能够更好地利用这一函数。基础用法中,分享了如何使用range()生成从0开始的整数序列,以及如何指定起始值和结束值。通过设置步长,可以自定义迭代步长,实现更灵活的循环。同时,range()还可以逆序迭代,轻松生成逆序序列。

range()不仅仅在循环中有用,还能用于创建列表。这个特性在需要快速生成数字序列时非常实用。另外,通过与列表切片结合,可以生成索引序列,方便访问列表中的元素。进一步探索中,学到如何使用range()生成字母序列,通过ASCII码的转换实现这一功能。最后,了解了一个高级技巧,结合numpy库的arange()函数,生成不等间隔的浮点数序列。

总之,range()函数是Python编程中一个不可或缺的工具,通过善于运用其灵活的参数,能够编写更为优雅、高效的代码。希望本文的深入讨论和丰富的示例代码,能够帮助大家更好地掌握并运用range()函数,提高编码效率,使代码更加精致。


Python学习路线

在这里插入图片描述

更多资料获取

📚 个人网站:ipengtao.com

如果还想要领取更多更丰富的资料,可以点击文章下方名片,回复【优质资料】,即可获取 全方位学习资料包。

在这里插入图片描述
点击文章下方链接卡片,回复【优质资料】,可直接领取资料大礼包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker容器_自定义上传jenkins镜像(Dockerfile实现)

1.创建jenkins目录,并上传相应的包 mkdir /jenkins/ 2.创建一个Dockerfile文件 FROM daocloud.io/library/centos:7#把当前目录下的jenkins.war包传到内部容器的/ 下 ADD ./jenkins.war /#把当前目录下的jdk传到内部容器的/opt/,并解压 ADD ./jdk-11.0.19_linu…

网络编程基础api

1. IP 协议 1.1 IP 分片 (1)IP 分片和重组主要依靠 IP 头部三个字段:数据报标识、标志和片偏移 以太网帧的 MTU 是 1500 字节; 一个每个分片都有自己的 IP 头部,它们都具有相同的标识值,有不同的片偏移…

css 十字分割线(含四等分布局)

核心技术 伪类选择器含义li:nth-child(2)第2个 lili:nth-child(n)所有的lili:nth-child(2n)所有的第偶数个 lili:nth-child(2n1)所有的第奇数个 lili:nth-child(-n5)前5个 lili:nth-last-child(-n5)最后5个 lili:nth-child(7n)选中7的倍数 border-right: 3px solid white;borde…

EasyExcel-最简单的读写excel工具类

前言&#xff1a; easyExcel 的官网文档给的示例非常全&#xff0c;可以参考https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read 在此我贴出自己的工具类&#xff0c;可以直接用 导包 <dependency><groupId>com.alibaba</groupId><…

机器学习第15天:GBDT模型

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​​ 文章目录 GBDT模型介绍 Boosting 残差 GBDT的缺点 python代码实现 代码 模型参数解释 结语 GBDT模型介绍 GBDT&#xff08;Gradient Boos…

php+mysql期末作业小项目

目录 1、登录界面 2、注册界面 3、主界面 4、学生表界面 5 、查询学生界面​编辑 6、修改学生信息界面​编辑 7、删除学生信息界面 8、添加学生信息界面 9、后台数据库​编辑 一个简单的php➕mysql项目学生信息管理系统&#xff0c;用于广大学子完成期末作业的参考&…

测试架构工程师需要具备哪些能力 ?

前言 相比于我们常见的研发架构师&#xff0c;测试架构师是近几年才出现的一个岗位&#xff0c;当然岗位title其实没有特殊的含义&#xff0c;在我看来测试架构师其实更像对某一类人的抽象称呼和对其复合能力的期待及认可。 在聊这篇文章的主题之前&#xff0c;先来看这样一个…

TCP通信

第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式&#xff0c;也有着优点和缺点…

如何在Android平板上远程连接Ubuntu服务器使用code-server代码开发

目录 1.ubuntu本地安装code-server 2. 安装cpolar内网穿透 3. 创建隧道映射本地端口 4. 安卓平板测试访问 5.固定域名公网地址 6.结语 1.ubuntu本地安装code-server 准备一台虚拟机,Ubuntu或者centos都可以&#xff0c;这里以VMwhere ubuntu系统为例 下载code server服务…

el-table 表格多选(后端接口搜索分页)实现已选中的记忆功能。实现表格数据和已选数据(前端分页)动态同步更新。

实现效果&#xff1a;&#xff08;可拉代码下来看&#xff1a;vue-demo: vueDemo&#xff09; 左侧表格为点击查询调用接口查询出来的数据&#xff0c;右侧表格为左侧表格所有选择的数据&#xff0c;由前端实现分页。 两个el-table勾选数据联动更新 实现逻辑&#xff1a; el-…

低代码开发到底是补品还是垃圾食品?

2023&#xff0c;低代码彻底火了&#xff0c;甚至火到没有点相关经验&#xff0c;都不好意思出去面试的程度。 从业者对低代码的发展充满了想象&#xff0c;都认为未来低代码的商业价值不可估量。 据Gartner的最新报告显示&#xff0c;2023年全球低代码开发技术市场规模预计将…

内部文件上传以及渲染-接口API

文件上传 地址http://172.16.0.118:8090/api/pm/base/affix/upload请求类型POSTContent-Type:text/plain;charsetutf-8参数 prjData {"prjId":"", "jobId":"3031b2c8-c809-4110-8e88-22c80a9c1ec0721aca89-96a1-4346-9b6e-022331d221d1Nec…

【EMNLP 2023】面向Stable Diffusion的自动Prompt工程算法BeautifulPrompt

近日&#xff0c;阿里云人工智能平台PAI与华南理工大学朱金辉教授团队合作在自然语言处理顶级会议EMNLP2023上发表了BeautifulPrompt的深度生成模型&#xff0c;可以从简单的图片描述中生成高质量的提示词&#xff0c;从而使文生图模型能够生成更美观的图像。BeautifulPrompt通…

【MATLAB】MODWT分解+FFT+HHT组合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 MODWT分解FFTHHT组合算法是一种综合性的信号处理方法&#xff0c;它结合了经验小波变换&#xff08;Empirical Wavelet Transform&#xff0c;EWT&#xff09;、快速傅里叶变换&#xff…

爱智EdgerOS之深入解析如何应用爱智的视频流模块完成拉流

一、ONVIF 规范和常见视频流传输协议 ① ONVIF 规范 随着视频监控产业链的成熟&#xff0c;市面上陆陆续续出现了各式各样的网络摄像设备&#xff0c;这些设备都需要通讯协议才能进行数据传输。早期厂商都采用私有协议&#xff0c;但是现在厂商分工明确&#xff0c;有的负责生…

程序员的技术成长攻略

推荐语&#xff1a;偶尔在公众号看到的一篇文章&#xff0c;写的非常好&#xff0c;在此分享给各位程序员兄弟&#xff0c;不光是对技术成长有帮助&#xff0c;其他领域也是同样适用的&#xff01;建议反复阅读&#xff0c;形成一套自己的技术成长策略。 原文地址&#xff1a;…

【EI会议征稿】2024年粤港澳大湾区数字经济与人工智能国际学术会议(DEAI2024)

2024年粤港澳大湾区数字经济与人工智能国际学术会议(DEAI2024) 2024 Guangdong-Hong Kong-Macao Greater Bay Area International Conference on Digital Economy and Artificial Intelligence(DEAI2024) 2024年粤港澳大湾区数字经济与人工智能国际学术会议(DEAI2024)由广东科…

探索鸿蒙 TextInput组件

TextInput 根据组件名字&#xff0c;可以得知他是一个文本输出框。 声明代码&#x1f447; TextInput({placeholder?:ResourceStr,text?:ResourceStr}); placeholder: 就是提示文本&#xff0c;跟网页开发中的placeholder一样的 text&#xff1a;输入框当前的文本内容 特殊属…

52 代码审计-PHP项目类RCE及文件包含下载删除

目录 漏洞关键字:演示案例:xhcms-无框架-文件包含跨站-搜索或应用-includeearmusic-无框架-文件下载-搜索或应用功能-down等zzzcms-无框架-文件删除RCE-搜索或应用-unlink、eval 漏洞关键字: SQL注入&#xff1a; select insert update mysql_query mysql等 文件上传&#xff…

【FreeRTOS】信号量——简介、常用API函数、注意事项、项目实现

在FreeRTOS中&#xff0c;信号量是一种非常重要的同步机制&#xff0c;用于实现任务间的互斥访问和同步操作。通过信号量&#xff0c;不同的任务可以安全地共享资源&#xff0c;避免竞争和冲突&#xff0c;从而确保系统的稳定性和可靠性。本篇博客将介绍FreeRTOS中信号量的基本…