网站首页 > 教程分享 正文
内置函数range()太重要了,使用的频率也相当地高,与各种语句搭配使用,构成各种Python程序。
range()详解
range()函数内置于Python3中,用于构建不可变的数字序列对象,一般和for循环搭配用于遍历。
1. range()的4种形式
range()的参数必须是int或者任何可以执行__index__的对象,如果参数被忽略,默认就是1。参数可是以正也可以是负。但至少要有一个参数。
1.1 range(start, stop,step)
- start 开始于,包含本身
- stop 结束于,不包含本身
- step 步进,元素之间的间隔,默认是1
- start到stop的方向必须与step的方向一致,否则会返回空。即step的正负必须与stop一致。
In [1]:
list (range(2, 10, 3)) #从2开始以3为步进至10
Out[1]:
[2, 5, 8]
In [2]:
list (range(-1, -10, -3)) # 从-1开始以-3为步进至-10
Out[2]:
[-1, -4, -7]
In [3]:
list (range(-5, 3, 2)) # 从-5开始以2为步进至1
Out[3]:
[-5, -3, -1, 1]
In [4]:
list (range(3, -8, -4)) # 从3开始以-4为步进至-8
Out[4]:
[3, -1, -5]
In [5]:
list (range(-2, -6, 2)) # 以-2开始2为步进至-6,是不可能的,返回空
Out[5]:
[]
In [6]:
list (range (-2, 6, -3)) #以-2开始-3为步进至6是不可能的,返回空
Out[6]:
[]
In [7]:
list (range (len([]), len((1,2,3)), len('Py')))
Out[7]:
[0, 2]
1.2 range(start, stop)
- 只写二个参数,默认第一个是start,第二个是stop
- 忽略step,若stop为正,则默认step为1
- 若stop为负,则step不可忽略,否则均返回空值。
In [8]:
list (range(1, len('Python')))
Out[8]:
[1, 2, 3, 4, 5]
In [9]:
list (range(-3, -7))
Out[9]:
[]
In [10]:
list (range(-3, 7))
Out[10]:
[-3, -2, -1, 0, 1, 2, 3, 4, 5, 6]
In [11]:
list (range(3, -7))
Out[11]:
[]
In [12]:
list (range(3, -7, -2))
Out[12]:
[3, 1, -1, -3, -5]
1.3 range(stop)
- 只写一个参数,默认是stop
- 忽略start与step,若stop为正,则默认start=0, step=1
- 若只写一个负参数,默认返回空。
In [13]:
list (range(4))
Out[13]:
[0, 1, 2, 3]
In [14]:
list (range(-4))
Out[14]:
[]
1.4 range(0) 与 range()
- range(0) 返回空对象
- range()报错,range()必须至少有一个参数
In [15]:
list (range(0)) # range(0)返回空
Out[15]:
[]
list (range()) # range()报错,必须有一个参数
2. range类型的优势与作用
相比于列表或者元组,range所占的内容总是一样的,只有三个参数,start/stop/step,不管它实际的大小是多少,它始终只点三个值,想想列表与元组,实际有多大,就有占多少值,range实在是太省内存了。
range用于包含测试,元素索引查找及切片等
In [16]:
r1 = range (1, 9, 2) r1
Out[16]:
range(1, 9, 2)
In [17]:
8 in r1
Out[17]:
False
In [18]:
7 in r1
Out[18]:
True
In [19]:
r1.index(3)
Out[19]:
1
In [20]:
r1[2]
Out[20]:
5
In [21]:
r1[1:3]
Out[21]:
range(3, 7, 2)
In [22]:
r1[-1]
Out[22]:
7
3. range()的比较
如果range()所呈现的序列是一样,则他们是相等,可以进行==,!=运算。即使它们所具有的参数是不一样的。
In [23]:
r2 = range(0) r3 = range(-2)
In [24]:
r2 == r3
Out[24]:
True
In [25]:
r1 == r2
Out[25]:
False
In [26]:
r4 = range(2, 7, 3) r5 = range(2, 6, 3)
In [27]:
r4 == r5
Out[27]:
True
In [28]:
r3 != r4
Out[28]:
True
猜你喜欢
- 2024-09-11 「每日一练」巧用python计算猴子吃桃问题
- 2024-09-11 python初学笔记(python入门教程(非常详细)书)
- 2024-09-11 3种python的编码形式制作九九乘法口诀表
- 2024-09-11 Python 之 计算单代码的执行时间(python代码执行结果)
- 2024-09-11 Python入门编程题库35--计算三个随机数的立方和
- 2024-09-11 Python入门编程题库35--计算三个random整数的立方和
- 2024-09-11 Python数字编程第一章练习(上)(python数字代码)
- 2024-09-11 Python 0-5 循环语句和列表元组(python循环语句用法)
- 2024-09-11 第一行Python代码之KO面试官(python面试第68招)
- 2024-09-11 1-6,0基础学Python创建list,Python中布尔类型按照索引访问list
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)