在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. tree-test

    #include <iostream> #include <stack> using namespace std; typedef struct BiTNode{ char d ...

  2. 解密Prompt系列16. LLM对齐经验之数据越少越好?LTD & LIMA & AlpaGasus

    LLM Agent中间插个队,总结下指令微调.对齐数据相关的方案,已经凑够7篇论文可以召唤神龙啦!论文都是以优化指令样本为核心,Data-Centric的观点比较一致:指令微调也就是对齐阶段的数据质量 ...

  3. python第2~5章 学习笔记

    # 第2~5章 学习笔记 ## 什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就得干什么! 需要通过计算机的语言来控制计算机(编程语言)! 计算机语言其实和人类的语言没有本质 ...

  4. C#归并排序算法

    前言 归并排序是一种常见的排序算法,它采用分治法的思想,在排序过程中不断将待排序序列分割成更小的子序列,直到每个子序列中只剩下一个元素,然后将这些子序列两两合并并排序,最终得到一个有序的序列. 归并排 ...

  5. React跨路由组件动画

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:佳岚 回顾传统React动画 对于普通的 React 动画 ...

  6. 图形学、02 推导证明 | 任意一点经过透视投影后 z 坐标相对于之前有什么变化

    齐次坐标知识点: \(\begin{bmatrix} x \\ y \\ z \\ 1 \\\end{bmatrix} \Rightarrow\begin{bmatrix} nx \\ ny \\ n ...

  7. 传输层协议:TCP/IP协议,UDP的协议

    传输层: 定义了⼀些传输数据的协议和端口号( WWW 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,⽤于传输可靠性要求⾼,数据量⼤的数据), UDP(⽤户数据报协议,与 TCP 特 ...

  8. 前端脚手架CLI生成模版命令工具(包括,npm包的发布,脚手架的搭建,注意事项,优化等)

    写在前面 这是停更以后,续更的一篇文章. 为什么好长时间都没有更新,因为去其他平台更新了,包括掘金,思否,简书等. 在那些地方感觉没有归属感,有的平台原创审核很麻烦,简书号称可以获得打赏,可是码了几十 ...

  9. JVM指令分析

    代码: 1 public class AppGo{ 2 public static void test() { 3 boolean flag = true; 4 if (flag) System.ou ...

  10. Error running 'TestAlterNickname.test': Command line is too long. Shorten command line for TestAlterNickname.test or also for JUnit default configuration

    问题描述 如图IDEA报错问题,发生在我用JUnit进行测试时. 解决方法 1. 直接点击 default 2. Modify options -> Shorten command line 3 ...