当前位置: 首页 > news >正文

python中的range()函数详解

  range() 是 Python 内置的一个函数,用于生成一个整数序列。

range([start], [stop], [step])

        start、stop、step 分别表示序列的起始值、终止值和步长。start 和 step 是可选参数,如果不指定则默认为 0 和 1。

一、range()传递不同的参数

1、传递一个参数时

        当只传入一个参数时,表示生成从 0 开始、小于该参数的整数序列。例如:

>>> range(5)
#range(0, 5)

        例子中,range(5) 表示生成一个从 0 开始、小于 5 的整数序列。需要注意的是,实际上 range() 函数返回的是一个 range 类型的对象,并不是一个列表,但在大多数情况下可以像列表一样使用。

2、传递两个参数时

        当传入两个参数时,表示生成从 start 开始、小于 stop 的整数序列。例如:

>>> range(2, 5)
range(2, 5)

        这个例子中,range(2, 5) 表示生成一个从 2 开始、小于 5 的整数序列。

3、传递三个参数时

        当传入三个参数时,表示生成从 start 开始、每次增加 step、小于 stop 的整数序列。例如:

>>> range(0, 10, 2)
range(0, 10, 2)

        range(0, 10, 2) 表示生成一个从 0 开始、每次增加 2、小于 10 的整数序列。

        需要注意的是,当 step 为正数时,stop 必须大于 start,否则将无法生成任何数字。例如:

>>> range(5, 2)
range(5, 2)

        例子中,由于 start=5、stop=2、step=1,因此无法生成任何数字。另外,当 step 为负数时,start 必须大于 stop 才能生成序列。例如:

>>> range(5, 2, -1)
range(5, 2, -1)

 start=5、stop=2、step=-1,因此生成的序列为 5、4、3。

在实际应用中,range() 函数还有许多常见用法。接下来,将详细介绍 range() 函数的各项用法,包括:

  • 使用 range() 构建 for 循环
  • 遍历列表时使用 range(len()) 的用法
  • 利用 range() 生成固定长度的等差数列
  • 利用 range() 生成逆序的整数序列

二、使用 range() 构建 for 循环

range() 函数最常见的用法之一是用于构建 for 循环的迭代器。例如,以下代码演示了如何使用 range() 函数构建一个从 0 到 4 的循环:

for i in range(5):print(i)

range(5) 返回一个包含 5 个元素的整数序列,然后在 for 循环中使用每个元素对变量 i 进行赋值并输出。

需要注意的是,当使用 range() 函数时,循环变量 i 的取值范围为 0 到 n-1。因此,如果需要从 1 开始循环,可以通过加一的方式实现:

for i in range(1, 6):print(i)

三、遍历列表时使用 range(len()) 的用法

在处理列表时,有时需要同时遍历列表的索引和数值。这时可以利用 range(len()) 函数来生成与列表长度相同的整数序列,并在循环中使用该序列的元素作为列表的索引。例如,以下代码演示了如何遍历一个列表并输出其索引和数值:

fruit_list = ['apple', 'banana', 'orange']
for i in range(len(fruit_list)):print('Index:', i, 'Value:', fruit_list[i])Index: 0 Value: apple
Index: 1 Value: banana
Index: 2 Value: orange

这个例子中,range(len(fruit_list)) 返回包含 3 个元素的整数序列 [0, 1, 2],循环时使用该序列的元素 i 作为 fruit_list 的索引,并通过 fruit_list[i] 访问列表中的元素。

3.1 直接使用for循环遍历列表

需要注意的是,虽然可以通过遍历列表的索引和数值来处理列表,但在 Python 中通常更推荐使用迭代器的方式。例如,可以使用 for 循环来直接遍历列表的每个元素:

for fruit in fruit_list:print(fruit)apple
banana
orange

相关文章:

python中的range()函数详解

range() 是 Python 内置的一个函数,用于生成一个整数序列。 range([start], [stop], [step])start、stop、step 分别表示序列的起始值、终止值和步长。start 和 step 是可选参数,如果不指定则默认为 0 和 1。 一、range()传递不…...

【taro react】 ---- 常用自定义 React Hooks 的实现【四】之遮罩层

1. 问题场景 在实际开发中我们会遇到一个遮罩层会受到多个组件的操作影响,如果我们不采用 redux 之类的全局状态管理,而是选择组件之间的值传递,我们就会发现使用组件的变量来控制组件的显示和隐藏很不方便,更不要说像遮罩层这样一个项目多处使用的公共组件,他的隐藏和显示…...

【git】git命令行

首先要了解git整个流程的一个分类: workspace:工作区staging area:暂存区/缓存区local repository:版本库或本地仓库remote repository:远程仓库 创建仓库 git clone gitgithub.comxxxxxxxxxxxx//拷贝一份远程仓库 …...

centos8 jenkins 搭建和使用

一、安装jenkins 直接war包搭建下载地址:https://get.jenkins.io/war-stable/ 下载稳定长期版本 二、jenkins 启动依赖java, 安装java sdk ,好像支持java 11和17版本,21版本不支持会报错 下载sdk地址,https://www.oracle.com/j…...

Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互

在大数据领域,Hive作为一种数据仓库解决方案,为用户提供了一种SQL接口来查询和分析存储在Hadoop集群中的数据。为了更灵活地与Hive进行交互,我们可以使用Hive JDBC(Java Database Connectivity)驱动程序。本文将深入探…...

SQL开发笔记之专栏介绍

Sql是用于访问和处理数据库的标准计算机语言,使用SQL访问和处理数据系统中的数据,这类数据库包括:Mysql、PostgresSql、Oracle、Sybase、DB2等等,数据库无非围绕着“增删改查”的核心业务进行开发。并且目前绝大多数的后端程序开发…...

华为OD机考算法题:找终点

目录 题目部分 解读与分析 代码实现 题目部分 题目找终点难度易题目说明给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。 要求: 1.第…...

el-table通过scope.row获取表格每列的值,以及scope.$index

<el-table-column type"selection" width"55"></el-table-column><el-table-column prop"id" label"ID" width"80"></el-table-column><el-table-column prop"name" label"文件名…...

uni-app:本地缓存的使用

uni-app 提供了多种方法用于本地缓存的操作。下面是一些常用的 uni-app 本地缓存方法&#xff1a; uni.setStorageSync(key, data): 同步方式将数据存储到本地缓存中&#xff0c;可以使用对应的 key 来获取该数据。 uni.setStorage({key, data}): 异步方式将数据存储到本地缓存…...

在Scrum敏捷开发中,开发人员(Developers)的职责

在Scrum敏捷开发中&#xff0c;开发人员&#xff08;Developers&#xff09;是Scrum团队中最重要的角色之一&#xff0c;负责产品的开发和交付&#xff0c;其重要性不言而喻。 那开发人员的职责和需要参加的活动是什么呢&#xff1f; Developers核心职责&#xff1a; 承诺并完…...

SOLIDWORKS® 2024 新功能 - 3D CAD

1、 先前版本的兼容性 • 利用您订阅的 SOLIDWORKS&#xff0c;可将您的 SOLIDWORKS 设计作品保存为旧版本&#xff0c;与使用旧版本 SOLIDWORKS 的供应商无缝协作。 • 可将零件、装配体和工程图保存为新版本前两年之内的SOLIDWORKS 版本。 优点&#xff1a; 即使其他用户正…...

系统架构设计:20 论软件需求管理

目录 一 需求工程 1 需求开发 1.1 需求获取 1.1.1 软件需求的分类 1.1.2 需求获取方法...

K8S云计算系列-(2)

1.Kubernetes平台配置实战 部署Kubernetes云计算平台&#xff0c;至少准备两台服务器&#xff0c;服务器CPU至少2C&#xff0c;内存4G&#xff0c;环境如下所示&#xff1a; Kubernetes Master节点&#xff1a;192.168.1.146 Kubernetes Minion节点&#xff1a;192.168.1.147…...

通讯录(C语言版)

用c语言实现一个通讯录 功能&#xff1a;.添加、删除、查找、更改、显示、排序联系人 内存存储方式&#xff1a;结构体数组 1.打印菜单&#xff0c;各个功能分别用函数实现&#xff0c;将函数声明放在头文件中。 2.定义联系人信息&#xff0c;将联系人信息与count&#xff…...

natapp内网穿透-将本地运行的程序/服务器通过公网IP供其它人访问

文章目录 1.几个基本概念1.1 局域网1.2 内网1.3 内网穿透1.4 Natapp 2.搭建内网穿透环境3.本地服务测试 1.几个基本概念 1.1 局域网 LAN&#xff08;Local Area Network&#xff0c;局域网&#xff09;是一个可连接住宅&#xff0c;学校&#xff0c;实验室&#xff0c;大学校…...

数据结构八大排序Java源码

文章目录 [1]. 堆排序[2]. 冒泡排序[3]. 选择排序[4]. &#xff08;直接&#xff09;插入排序[5]. 希尔排序&#xff08;属于插入算法&#xff09;[6]. 快速排序[7]. 归并排序[8]. 基数排序 王道数据结构排序讲解 排序算法最佳时间复杂度最坏时间复杂度平均时间复杂度空间复杂度…...

区块链加密虚拟货币交易平台安全解决方案

区块链机密货币交易锁遭入侵&#xff0c;安全存在隐患。使用泰雷兹Protect server HSM加密机&#xff0c;多方位保护您的数据&#xff0c;并通过集中化管理&#xff0c;安全的存储密钥。 引文部分&#xff1a; 损失7000万美元!黑客入侵香港区块链加密货币交易所 2023年9月&…...

【SoC FPGA】HPS启动过程

SoC HPS启动流程 Boot ROMPreloaderBoot Loader HPS的启动是一个多阶段的过程&#xff0c;每一个阶段都会完成对应的工作并且将下一个阶段的执行代码引导起来。每个阶段均负责加载下一个阶段。第一个软件阶段是引导 ROM&#xff0c;引导 ROM 代码查找并且执行称为预加载器的第 …...

Wireshark CLI | Mergecap 篇

简介 Mergecap 是 Wireshark 程序安装时附带的可选工具之一&#xff0c;用于合并数据包文件的命令行工具。 mergecap [ -a ] [ -F <file format> ] [ -I <IDB merge mode> ] [ -s <snaplen> ] [ -V ] -w <outfile>|- <infile> [<infile>…...

10个打工人必备AI神器,升职加薪靠AI

HI&#xff0c;同学们&#xff0c;我是赤辰&#xff0c;本期是第18篇AI工具类教程&#xff0c;文章底部准备了粉丝福利&#xff0c;看完后可领取&#xff01;1. Runway&#xff08;文字转视频AI工具&#xff09; 只需要一句提示词就能精确生成你所想象的视频场景&#xff0c;还…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...