Python |
您所在的位置:网站首页 › 使用i从1到10步长为3,循环几次 › Python |
在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, 42. 指定开始和结束 range()函数可以接受三个参数,分别表示起始点、终止点和步长。起始点默认为0,终止点是生成的数字的最大值(不包括该值),步长是每次递增的间隔。 for i in range(2, 5): print(i) # 输出: 2, 3, 43. 指定步长 还可以通过设置步长参数来改变生成的数字的间隔。例如,步长为2将使序列中的每个数字之间的间隔为2。 for i in range(0, 10, 2): print(i) # 输出: 0, 2, 4, 6, 84. 与列表结合使用 还可以将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)自动数出来。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |