欢迎访问宙启技术站
智能推送

如何在Python程序中使用range()函数生成数字序列?

发布时间:2023-06-22 17:47:31

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循环遍历。