如何在Python程序中使用range()函数生成数字序列?
range()函数是Python内置的一个常用函数,它用于生成一个指定范围内的数字序列。这个函数在Python 2.x和Python 3.x版本中使用方式略有不同,但都可以实现相同的功能。本文将分别介绍Python 2.x和Python 3.x版本中如何使用range()函数生成数字序列。
一、Python 2.x版本中使用range()函数生成数字序列
Python 2.x版本中的range()函数有三种使用方式:
1. range(stop)
这种方式只传入一个参数,即终止数字,函数将返回从0开始、小于stop(不包含stop)的整数序列。
例如,range(5)将返回:[0, 1, 2, 3, 4]
2. range(start, stop)
这种方式传入两个参数,即起始数字和终止数字,函数将返回从start开始、小于stop(不包含stop)的整数序列。
例如,range(2, 6)将返回:[2, 3, 4, 5]
3. range(start, stop, step)
这种方式传入三个参数,即起始数字、终止数字和步长,函数将返回从start开始、小于stop(不包含stop)的、间隔为step的整数序列。
例如,range(1, 10, 2)将返回:[1, 3, 5, 7, 9]
注意点:
1. 在Python 2.x版本中,range()函数返回一个列表(list)类型的数字序列,因此可以直接使用下标访问,也可以使用for循环遍历。
2. 在Python 2.x版本中,如果range()函数的参数是负数,那么函数将返回一个空序列。
二、Python 3.x版本中使用range()函数生成数字序列
Python 3.x版本中的range()函数也有三种使用方式:
1. range(stop)
这种方式和Python 2.x版本中相同,只传入一个参数,即终止数字,函数将返回从0开始、小于stop(不包含stop)的整数序列。
例如,range(5)将返回:range(0, 5)
2. range(start, stop)
这种方式传入两个参数,即起始数字和终止数字,函数将返回从start开始、小于stop(不包含stop)的整数序列。
例如,range(2, 6)将返回:range(2, 6)
3. range(start, stop, step)
这种方式传入三个参数,即起始数字、终止数字和步长,函数将返回从start开始、小于stop(不包含stop)的、间隔为step的整数序列。
例如,range(1, 10, 2)将返回:range(1, 10, 2)
注意点:
1. 在Python 3.x版本中,range()函数返回一个range对象,不是一个列表类型,因此不能直接使用下标访问,也不能直接使用for循环遍历,需要将其转换为列表类型后才行。
2. 在Python 3.x版本中,range()函数返回的range对象与Python 2.x版本中返回的列表类型序列类似,但在计算速度和内存占用方面更加优化,尤其在处理大量数字时更能体现其优势。
三、Python程序中使用range()函数的实例
下面是一些Python程序中使用range()函数的实例:
1. 使用range()函数生成数字序列并遍历
Python 2.x版本:
numbers = range(5)
for i in numbers:
print(i)
输出结果:
0
1
2
3
4
Python 3.x版本:
numbers = range(5)
for i in list(numbers):
print(i)
输出结果:
0
1
2
3
4
2. 使用range()函数生成间隔为5的数字序列并遍历
Python 2.x版本:
numbers = range(0, 50, 5)
for i in numbers:
print(i)
输出结果:
0
5
10
15
20
25
30
35
40
45
Python 3.x版本:
numbers = range(0, 50, 5)
for i in list(numbers):
print(i)
输出结果:
0
5
10
15
20
25
30
35
40
45
3. 使用range()函数生成从100到1的数字序列并遍历
Python 2.x版本:
numbers = range(100, 0, -1)
for i in numbers:
print(i)
输出结果:
100
99
98
...
3
2
1
Python 3.x版本:
numbers = range(100, 0, -1)
for i in list(numbers):
print(i)
输出结果:
100
99
98
...
3
2
1
总结:
range()函数是Python中常用的一个函数,可以用于生成一个包含特定数字的序列。在Python 2.x版本中,range()函数返回一个列表类型的数字序列,可以直接使用下标访问或使用for循环遍历;在Python 3.x版本中,range()函数返回一个range对象,需要将其转换为列表类型后才能访问其中的数字或使用for循环遍历。
