python range实例用法分享

1. range()函数概述

range()函数是Python内置函数,它作用于整数序列,可根据需要生成整数序列,常用于循环中进行迭代操作。range()函数常见的形式如下:

range(stop)

range(start, stop, step)

其中,参数start为序列起始值(默认为0),stop为序列结束值(不包含),step为步长(默认为1,可省略)。需要注意的是,当仅需要生成一定长度的整数序列时,可以省略start参数,如range(5)可生成0~4共5个整数。

2. range()函数用法示例

2.1 基本使用方法

range()函数最基础的使用方法就是用于循环中进行迭代操作,下面是一个简单的例子:

for i in range(5):

print(i)

以上代码会依次输出0、1、2、3、4。这里的参数stop为5,即函数执行到第5次结束循环。

2.2 包含起始值和步长的使用

我们可以使用start和step参数来控制序列的取值范围,如下所示:

for i in range(1, 10, 2):

print(i)

以上代码会输出1、3、5、7、9,这里的参数start为1,step为2,即函数从1开始每次加2,直到大于等于10为止。

2.3 倒序循环使用

倒序循环在某些场合下非常方便,比如倒序输出列表、倒序删除元素等操作。range()函数可以轻松实现倒序循环,如下所示:

for i in range(10, 0, -1):

print(i)

以上代码会输出10、9、8、7、6、5、4、3、2、1,这里的参数start为10,step为-1,即函数从10开始每次减1,直到小于1为止。

2.4 生成列表

除了用于循环中进行迭代操作,range()函数还可以用于生成整数序列,将其转换为列表类型即可。如下所示:

data = list(range(10))

print(data)

以上代码会输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]。这里用list()函数将返回的整数序列转换为列表类型。

3. range()函数使用技巧

3.1 与enumerate()一起使用

在循环中,我们常常需要同时获取列表元素和索引值,此时可以使用Python内置函数enumerate()来实现。配合range()函数,我们可以像这样实现:

data = ['a', 'b', 'c', 'd', 'e']

for i, d in enumerate(data):

print(i, d)

以上代码会输出如下内容:

0 a

1 b

2 c

3 d

4 e

在以上代码中,我们使用enumerate()函数同时返回序列中元素和它们的索引值,再用for循环进行迭代。

3.2 与zip()一起使用

zip()函数是Python内置函数,用于将多个列表压缩成一个元组列表。配合range()函数,我们可以实现在循环中同时遍历两个列表,如下所示:

data1 = ['a', 'b', 'c', 'd', 'e']

data2 = [1, 2, 3, 4, 5]

for d1, d2 in zip(data1, data2):

print(d1, d2)

以上代码会输出如下内容:

a 1

b 2

c 3

d 4

e 5

在以上代码中,我们将data1和data2两个列表zip()函数同步压缩成元组列表,再用for循环进行迭代。

3.3 生成无限循环序列

在一些场合下,我们需要生成无限循环序列。在Python中,我们可以使用range()函数来实现,如下所示:

for i in range(10**10):

print(i)

以上代码会无限循环输出0、1、2、3...。这里的参数stop被设为了一个极大值,即生成一个无限长度的整数序列。

3.4 创建数字列表的快捷方式

在某些场合下,我们需要快速创建一定范围内的数字列表,range()函数就可以作为一个便捷的工具来使用。比如,我们需要生成一个从0到1(包含)间隔为0.1的数字列表,可以这样实现:

data = [x/10 for x in range(11)]

print(data)

以上代码会输出[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]。这里的range()函数用于生成0~10的整数序列,然后用列表解析式将其转换为对应的数字列表。

4. 总结

本文主要介绍了Python内置函数range()的基本使用方法和常见应用技巧。通过本文的学习,我们可以更加方便、灵活地使用Python来进行循环迭代操作。需要注意的是,当需要生成长度极大的整数序列时,应用技巧3.3需要谨慎使用,以免导致程序运行异常。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签