python的range()函数

Python的range()函数,我们前面已经接触到挺多的了,比如:

In[1]: a = list(range(1,10))  #用来快速声明列表
a
[1, 2, 3, 4, 5, 6, 7, 8, 9]

for i in range(1,10): #用于for循环
    print(i)
1
2
3
4
5
6
7
8
9

range()函数

range()函数是python的内置函数,英文为范围的意思,常常用于遍历整数范围,如果用于遍历其他的类型,比如str字符串,会发生TypeError: 'str' object cannot be interpreted as an integer的错误。字符串可以直接迭代遍历。

range()函数实例

range()函数在for循环中的应用是非常常见的,有不同的参数形式,与slice切片类似,其一般形式为:range(start, end, step),这是一个半闭区间[ )的遍历模式,即start值可以遍历到,而end的值无法遍历到。

In[1]:
for i in range(6):  
    print(i)
0
1
2
3
4
5


for i in range(0,6):
    print(i)
0
1
2
3
4
5
 

for i in range(0,6,1):
    print(i)
0
1
2
3
4
5


for i in range(0,6,3):
    print(i)
0
3

for i in range(6,1,-1):
    print(i)
6
5
4
3
2
​

实例解析

  • 当range(start, end, step)函数只有一个参数的时候,默认start为0,end为输入的参数值,步数step为1
  • 当步数step为负数的时候,表示倒序,与slice的方向一样,倒序时start的值应当大于end的值;
  • 当range()的step为倒序的时候,三个参数都应当写上。

range()函数与len()函数的搭配使用

range()函数更多的时候是通过遍历索引号或字典的键值的方式来发挥更会强大也更为复杂的作用。

range()与len()综合实例

In[1]:
a = ['x1y1z1.com','大器编程','璞玉天成,大器晚成']
string = ''
for i in range(len(a)):
    string += (a[i]+',')  #相当于 string = string + (a[i]+',')
    # print(string) 
string
'x1y1z1.com,大器编程,璞玉天成,大器晚成,'

实例解析

len(a)计算出列表a的元素个数,range(len(a))遍历“个数”值,比如3,遍历出的值分别是0,1,2(半闭区间的模式),正好与列表a各个元素的索引一致。a[i]则是通过索引获取列表元素值,是个字符串,+','是为了重组的字符串美观一点。string += (a[i]+',') 则是通过循环的模式,不断将string这个变量重新赋值——重组字符串,大家如果想看得更细一点的话,可以在这条代码的下面加上一个print(string)来细看每一次循环后变量string值的变化。

大家有没有发现上面的程序输出的最后是一个“,”而不是句号,那该怎么设计呢?大家可以发挥一下自己的想象力。


下一章节我们将继续介绍python的推导式。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.