2.5 range

1.range的本质

range是Python中的一个不可变序列。

使用 range 可以生成一个数值序列。它的本质是生成一个序列,以便执行特定次数的循环,这是它的一般用途。尽管它是一个一般的函数,但它也是有类型的,它的类型是“range”。

比如我们想在屏幕上输出5次“Hello world!”,可以这样来编写代码。

range(5)是一个函数,生成一个包含5个元素的序列,这5个元素是从0到4,注意不包含5。

如果要使用遍历过程中变量i的值,可以这样使用:

这是range()函数的一般用途,但它本身也是有类型的。如果要生成一个包含5个元素的序列,可以通过以下的代码来实现。

range 函数的结果虽然不像列表和元组那么直观,但仍然可以检测它的类型。它是range类型的,range类型属于序列的不可变类型。

与列表和元组一样,可以通过rang的下标来访问它的元素的值,但它不支持原位改变。

2.range的声明

range的声明有3种方式(见表2-11)。

表2-11 range的声明

“range(1,10,3)”得到的是1至9中间的3个值,即从1开始,按步长3递增,直到10,但不包括10。

3.range支持序列的通用操作

range 比较简单,尽管它一般用在循环语句中,但它确实是序列中的一种,存在自己的类型,虽然它不支持像列表一样的原位操作,但序列的通用操作都适用于它,如判断元素是否在序列之内、求最大最小值、求长度、检索某一个元素的位置、统计元素出现的次数,等等。