Python——第二章:range()的用法:

在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)自动数出来。

posted @ 2023-10-19 16:09  Magiclala  阅读(3681)  评论(0编辑  收藏  举报