Python——第二章:range()的用法:
在Python中,range()是一个内置函数,用于生成一个整数序列,通常用于循环遍历。以下是range()函数的一些常见用法:
range(n): 从0数到n. 不包含nrange(m, n): 从m数到n, 不包含nrange(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()的用法:的更多相关文章
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python 第二章-列表和元组
第二章-列表和元组 2.0 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...
- python第二章:控制流
变成实际上是一个过程的提现,每个过程都是有多个流程块组成. 比如:判断是否下雨的过程 1.布尔值 在第一章最后举例了比较操作后,最终返回的结果 True or False True 和 False是一 ...
- machine learn in python 第二章2.1.1
1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...
- Python第二章(北理国家精品课 嵩天等)
一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...
- 【原创】Python第二章——字符串
字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...
- 【原创】Python第二章——行与缩进
Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...
- 【原创】Python第二章——标识符命名规则
在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...
- python第二章:数据类型--小白博客
标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...
- python 第二章 对象与类型
可变对象和不可变对象 1,可变对象,list(列表),dict(字典),集合(set),字节数组. 2,不可变对象,数值类型,字符串,字节串,元组(具体形式 ()). 注意条件:可变和不可变指的是该对 ...
随机推荐
- 织梦DedeCMS文章内容页调用标签方法教程
织梦DedeCMS是新手站长使用比较多的建站软件,其模板制作也比较方便,一些站长朋友对其模板调用标签不是太熟悉,小编为大家介绍下织梦文章内容页调用标签的方法. 1.调用文章标题: {dede:fiel ...
- Journey / Solution Set - 「NOIP-S 2020」「Prob. A-C」
这种东西怎么写啊... Day 1(好像也没有 Day 2 到了 NK 后发现正好可以进门,于是就什么也没有检查的进去了. 进门前问了一下 LYC 之前问过的一个问题,他说没有头绪,然后就没怎么说话了 ...
- Appendix D. Gradle Command Line
http://www.gradle.org/docs/current/userguide/gradle_command_line.html Appendix D. Gradle Command Lin ...
- Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类、工具类与实现类
Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类.工具类与实现类 ELM_V1_食品的实体类 package elm_V1; /** * [食品实体类] * * @a ...
- .Net核心级的性能优化(GC篇)
1.前言 大部分人对于.Net性能优化,都停留在业务层面.或者简单的.Net框架配置层面.本篇来看下.Net核心部分GC垃圾回收配置:保留VM,大对象,独立GC,节省内存等.Net8里面有很多的各种G ...
- 01-linux - kvm
配置linux kvm 逻辑卷 # df -h # fdisk -l | grep dev # pvs # pvcreate /dev/sdg # pvs # vgcreate oradata /de ...
- 你也许不再需要使用 CSS Media Queries(媒体查询)了
你也许不再需要使用 CSS Media Queries(媒体查询)了 最近,CSS 引入了一项新功能:Container Queries.它可以替代 Media Queries 并实现 Media Q ...
- client-go实战之九:手写一个kubernetes的controller
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<client-go实战> ...
- 回文自动机(PAM) 详解
PAM 是一种高效存储字符串中所有回文子串的自动机,用于解决回文串相关问题. 虽然代码稍微长一点,但写起来比 manacher 容易很多,毕竟没有加了一堆字符再转回原串的若干上取整下取整问题. 前置知 ...
- 一个Docker仓库问题的思考
近期项目有云上部署要求,产品要打包成docker镜像.之前产品已经发布过docker版本本次只需要需要更新下,于是交代组内另外一个同学更新下镜像,想着应该很简单: 中间经过熟悉docker知识点搭建环 ...