Python range() 函数用法

2023-09-17 22:23:28

range()构造函数方法返回 range 类的对象,该对象是不可变的序列类型。 range() 方法返回指定的开始参数和停止参数之间的不可变序列号,按步骤递增参数。

语法:

range(start, stop, step)

参数:

  1. start:(可选)要从中开始计数的整数,默认为 0。
  2. stop:用于停止计数的整数。
  3. step:(可选)一个整数,指示起始参数值的增量值,默认为 1。

返回值:

返回不可变的数字序列对象。

下面的示例演示 range() 方法。

num_range = range(5) #start=0, stop=5, step=1
print(type(num_range))
print(num_range)
print('Values = ', num_range[0], num_range[1], num_range[2], num_range[3], num_range[4])

输出:

<class 'range'>
range(0, 5)
Values =  0 1 2 3 4

在上面的示例中,range(5)返回具有默认开始 0、停止 5 和默认步骤 1 的 range 对象。range是不可变的序列,因此可以通过传递方括号 [] 中的索引来访问值。

in运算符用于检查特定数字是否存在于范围序列中,如下所示。

num_range = range(5) #start=0, stop=5, step=1
print(0 in num_range)
print(4 in num_range)
print(5 in num_range)
print(6 in num_range)

输出:

True
True
False
False

范围对象可以转换为其他可迭代类型,如列表、元组和集合。

print(list(range(5)))
print(tuple(range(5)))
print(set(range(5)))

输出:

[0, 1, 2, 3, 4]
(0, 1, 2, 3, 4)
{0, 1, 2, 3, 4}

下面创建一个不同的范围对象,具有不同的开始和步骤参数值。

num_range1 = range(1, 5) #start=1, stop=5, step=1
print('range(1, 5) = ', list(num_range1))
num_range2 = range(1, 10, 2) #start=1, stop=10, step=2
print('range(1, 10, 2) = ', list(num_range2))
num_range3 = range(0, 20, 5) #start=0, stop=20, step=5
print('range(0, 20, 5) = ', list(num_range3))
num_range4 = range(-5, -1) #start=-5, stop=-1, step=1
print('range(-5, -1) = ', list(num_range4))
num_range5 = range(-5) #start=0, stop=-5, step=1
print('range(-5) = ', list(num_range5))

输出:

range(1, 5) = [1, 2, 3, 4]
range(1,10, 2) = [1, 3, 5, 7, 9]
range(0, 20, 5) = [0, 5, 10, 15]
range(-5, -1) = [-5, -4, -3, -2]
range(-5) = []

==!=运算符用于比较两个范围对象,并确定它们具有相同的开始、停止和步骤参数。

num_range1 = range(1, 5) 
num_range2 = range(1, 10, 2) 
num_range3 = range(1, 5) 
print(num_range1 == num_range2)
print(num_range1 == num_range3)

输出:

False
True

range()函数通常与 for 循环一起使用,如下所示。

for i in range(5):
	print(i)

输出:

0
1
2
3
4