需要存储一组数字的原因有很多,例如,在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中,处理的几乎都是由数字(如温度、距离、人口数量、精度和纬度等)组成的集合。
列表非常适合用于存储数字集合,而Python提供了很多工具,可帮助你高效地处理数字列表。明白如何有效地使用这些工具后,即使列表包含数百万个元素,你编写的代码也能运行得很好。
python大大的图
我的图
1.使用函数range()
函数原型:range(start, end, scan)
参数含义:
start:计数从start开始,包含start,如果range括号里只有一个参数,那么默认计数从0开始。range(6)等价于range(0,6)
end:计数到end结束,但不包含end。如果range括号里只有一个参数,那么那个参数是end。默认计数从0开始,到end-1为止。例如:range(6)的结果是0,1,2,3,4,5。从0开始,没有6。
scan:每次跳跃的间距,即步长,默认为1。例如:range(0,6)等价于range(0,6,1)。再举一个例子:range(2,11,2)是说循环从2开始,到10结束,每次步进为2。
使用range( )时,如果输出不符合预期,请尝试将指定的值加1或减1。
2.使用range( )创建数字列表
要创建数字列表,可使用函数list( )将range( )的结果直接转换为列表。如果将range( )作为list( )的参数,输出将为一个数字列表。
我们print(range(4))的结果得到4行数字,而print list(range(4))的结果为一个一行的列表。
使用函数range( )几乎能够创建任何需要的数字集。从第10行到第13行创建了一个从1到10的平方列表。首先创建一个空列表squares,接下来使用函数range( )让python遍历1~10的值。在循环中,计算当前值的平方,并将计算得到的平方值附加到squares的末尾。最后,循环结束后,打印列表。在这个程序中并未使用临时变量square。
有时候,使用临时变量会让代码更易读;而在其他情况下,这样做只会让代码无谓地变长。你首先应该考虑的是,编写清晰易懂且能完成所需功能的代码;等到审核代码时,再考虑采用更高效的方法。
3.对数字列表执行简单的统计计算
有几个专门用于处理数字列表的Python函数。见代码14~16行,你可以轻松低找出数字列表的最小值,最大值和总和。
4.列表解析
前面介绍的生成列表squares的方式包含四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
列表名=[表达式 for循环]
在本例中,列表名为squares;表达式为value**2,它计算平方值,用于生成你要存储到列表中的值。for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意:这里的for语句末尾没有冒号。
其实列表解析在表达式后面不止可以写一个for循环。比如我可以写一个for循环再写一个if语句,就是说for循环里满足条件的值才进入表达式用于生成列表。或者我也可以写两个for循环。
当你觉得编写三四行代码来生成列表有点繁复时,就应该考虑创建列表解析了。