注意:本节需具备最基本的 Python 循环结构的基础,初学者可先跳过本节。

实际场景中,经常需要存储一组数字。例如在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中,处理的几乎都是由数字(如温度、距离、人口数量、经度和纬度等)组成的集合。
列表非常适合用于存储数字集合,并且 Python 提供了 range() 函数,可帮助我们高效地处理数字列表,即便列表需要包含数百万个元素,也可以快速实现。
Python range() 函数能够轻松地生成一系列的数字。例如,可以像如下这样使用 range() 来打印一系列数字: for value in range(1,5): print(value) 输出结果为: 注意,在这个示例程序中,range() 只是打印数字 1~4,因为range() 函数的用法是:让 Python 从指定的第一个值开始,一直数到指定的第二个值停止,但不包含第二个值(这里为 5)。
因此,如果想要上面程序打印数字 1~5,需要使用 range(1,6)。

另外需要指明的是,range() 函数的返回值并不直接是列表类型(list),例如: >>> type([1,2,3,4,5])
<class 'list'>
>>> type(range(1,6))
<class 'range'>

可以看到,range() 函数的返回值类型为 range,而不是 list。而如果想要得到 range() 函数创建的数字列表,还需要借助 list() 函数,比如: >>> list(range(1,6))
[1, 2, 3, 4, 5]

可以看到,如果将 range() 作为 list() 的参数,其输出就是一个数字列表。
不仅如此,在使用 range() 函数时,还可以指定步长。例如,下面的代码打印 1~10 内的偶数: even_numbers = list(range(2,11,2)) print(even_numbers) 在这个示例中,函数 range() 从 2 开始数,然后不断地加 2,直到达到或超过终值,因此输出如下: [2, 4, 6, 8, 10]

注意,即便 range() 第二个参数恰好符合条件,最终创建的数字列表中也不会包含它。

实际使用时,range() 函数常常和 Python 循环结构、推导式(后续会讲,这里先不涉及)一起使用,几乎能够创建任何需要的数字列表。
例如,创建这样一个列表,其中包含前 10 个整数(即1~10)的平方,实现代码如下: squares = [] for value in range(1,11): square = value**2 squares.append(square) print(squares) 运行结果为: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

关注公众号「 站长严长生 」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

微信扫码关注公众号
  • 一套完整的嵌入式开发学习路线(高薪就业版)
  • 一套课程卖1万,TMD太贵了!
  • 跑了3000公里,见了一位大佬
  • Go语言等待组(sync.WaitGroup)
  • Python线程池及其原理和使用(超级详细)
  • 开源软件是什么?有哪些?
  • AOE网求关键路径详解(包含C语言实现代码)
  • Django模板加载与响应
  • Spring MVC文件下载
  • C语言memset()函数:初始化内存
  •