在Python中,range()是一个内置函数,用于生成一个整数序列,通常用于循环遍历。以下是range()函数的一些常见用法:

range(n): 从0数到n. 不包含n
range(m, n): 从m数到n, 不包含n
range(m, n, s): 从m数到n, 不包含n, 每次的间隔是s

下面举例:

1. 默认情况

当你调用range()函数时,它会生成一个从0开始到给定数字(不包括该数字)的整数序列。

for i in range(5):
print(i) # 输出: 0, 1, 2, 3, 4

2. 指定开始和结束

range()函数可以接受三个参数,分别表示起始点、终止点和步长。起始点默认为0,终止点是生成的数字的最大值(不包括该值),步长是每次递增的间隔。

for i in range(2, 5):
print(i) # 输出: 2, 3, 4

3. 指定步长

还可以通过设置步长参数来改变生成的数字的间隔。例如,步长为2将使序列中的每个数字之间的间隔为2。

for i in range(0, 10, 2):
print(i) # 输出: 0, 2, 4, 6, 8

4. 与列表结合使用

还可以将range()函数与list()函数结合使用来创建一个列表。例如,下面的代码将创建一个包含1到10(包括10)的整数的列表。

my_list = list(range(10))  # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
print(my_list)

5. 与其他内置函数结合使用

range()函数还可以与其他内置函数结合使用,例如map()filter()。例如,下面的代码将使用range()函数和map()函数将列表中的每个元素乘以2。

my_list = [1, 2, 3, 4, 5]
new_list = list(map(lambda x: x * 2, my_list)) # [2, 4, 6, 8, 10]
print(new_list)

小练习:把列表内所有的姓张的人修改成姓王,其余不变

思考第1步:把列表内的所有元素取出来

lst = ['赵敏', '张绍刚', '张无忌', '武则天', '嬴政', '马超']

for item in lst:#用for循环取出所有的元素内容
print (item) #顺序打印所有lst[]里的内容 #输出结果为:
赵敏
张绍刚
张无忌
武则天
嬴政
马超

思考第2步:把所有以“张”开头的元素,替换为以“王”开头的元素

for item in lst:#用for循环取出所有的元素内容
if item.startswith("张"):#判断是否以"张"开头
new_name ="王"+item[1:]#元素的组合方法用+号,配合从第1号位到最后。
print(new_name) #输出结果为:
王绍刚
王无忌

*此时,我们看不到元素的索引位置

思考第3步:如何把新得到的名字丟回列表

for循环想要计数. 必须借助于range()

之前for循环的写法for item in lst:  , 我们看不到元素的索引位置,因此我们需要如下写法for i in range(len(lst))=for i in range(0,len(lst))两种写法都是从0到列表长度的最后一位

两种打印列表的操作方法对比

lst = ['赵敏', '张绍刚', '张无忌', '武则天', '嬴政', '马超']

# 使用for item in lst
for item in lst:#循环的是元素
print(item) # 使用for i in range(len(lst))
for i in range(len(lst)):#循环的是索引
print(lst[i])

其实他们的输出结果是一样的,但是一个循环的是元素本身,一个循环的是索引位置,把该位置的元素打印出来。print(lst[0])print(lst[1])print(lst[2])一直到print(lst[i])

思考第4步:安装位置替换原列表

lst = ['赵敏', '张绍刚', '张无忌', '武则天', '嬴政', '马超']

for i in range(len(lst)):  # len(lst)列表的长度 ->  可以直接拿到列表索引的for循环
item = lst[i] # item依然是列表中的每一项
if item.startswith("张"):
# 例如:张绍刚
new_name = "王"+item[1:]
# 例如:王绍刚
# 把符合判定的新名字丢回原先列表位置
lst[i] = new_name # 修改列表 print(lst)

这里再讲解一下思路:for i in range(len(lst))这个由range(0,6)演变而来的

在列表lst = ['赵敏', '张绍刚', '张无忌', '武则天', '嬴政', '马超']中,一共存在6个列表元素(0号、1号、2号、3号、4号、5号),需要表示为range(0,6)=range(6),为了方便操作,列表最好要用len(lst)自动数出来。

Python——第二章:range()的用法:的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  3. python第二章:控制流

    变成实际上是一个过程的提现,每个过程都是有多个流程块组成. 比如:判断是否下雨的过程 1.布尔值 在第一章最后举例了比较操作后,最终返回的结果 True or False True 和 False是一 ...

  4. machine learn in python 第二章2.1.1

    1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...

  5. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

  6. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  7. 【原创】Python第二章——行与缩进

    Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...

  8. 【原创】Python第二章——标识符命名规则

    在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...

  9. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  10. python 第二章 对象与类型

    可变对象和不可变对象 1,可变对象,list(列表),dict(字典),集合(set),字节数组. 2,不可变对象,数值类型,字符串,字节串,元组(具体形式 ()). 注意条件:可变和不可变指的是该对 ...

随机推荐

  1. Vue Vuex状态管理

    1.1 理解 Vuex 1.1.1 Vuex 是什么 概念:专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 Vue 应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组 ...

  2. 将Python程序打包成Linux可执行文件

    将Python程序打包成Linux可执行文件 安装环境 首先我们要安装pip,命令如下: sudo apt install python3-pip 使用的工具是pyinstaller,打开终端输入su ...

  3. SpringCloud-ZipKin搭建保姆级教程

    服务链路追踪 一.服务追踪说明 微服务架构是通过业务来划分服务的,使⽤REST调⽤.对外暴露的⼀个接⼝,可能需要 很多个服务协同才能完成这个接⼝功能,如果链路上任何⼀个服务出现问题或者⽹络超 时,都会 ...

  4. 关于初次new springboot项目

    如果是新手初学,然后做springboot项目报各种错,改来改去最终都无法出现successful字样. 请先检查,maven环境是否配好. maven环境决定你下载依赖的速度,以及能否下载成功. m ...

  5. OPPO主题组件开发 - 调试与预览

    本篇作为 OPPO主题组件调试与预览 文档的补充,因为它真的很简单而且太老,一些命令已发生变化 1. 调试前准备 1. PC 端下载 adb命令工具 下载 https://adbdownload.co ...

  6. C++20起支持的一个小特性

    注释掉的为传统的写法,从C++20起支持default关键字修饰的写法,即使是成员变量有多个的时候也支持,减轻了程序员的心智负担.

  7. C#基数排序算法

    前言 基数排序是一种非比较性排序算法,它通过将待排序的数据拆分成多个数字位进行排序. 实现原理 首先找出待排序数组中的最大值,并确定排序的位数. 从最低位(个位)开始,按照个位数的大小进行桶排序,将元 ...

  8. 浅析 C# Console 控制台为什么也会卡死

    一:背景 1. 讲故事 在分析旅程中,总会有几例控制台的意外卡死导致的生产事故,有经验的朋友都知道,控制台卡死一般是动了 快速编辑窗口 的缘故,截图如下: 虽然知道缘由,但一直没有时间探究底层原理,市 ...

  9. KubeEdge v1.15.0发布!新增5大特性

    本文分享自华为云社区<KubeEdge v1.15.0发布!新增Windows 边缘节点支持,基于物模型的设备管理,DMI 数据面支持等功能>,作者:云容器大未来 . 北京时间2023年1 ...

  10. 云端golang开发,无需本地配置,能上网就能开发和运行

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 需求 学习golang的时候,需要一个IDE,还需要一 ...