原创: JackCui 咸鱼飞龙门 6月19日
创建数值列表
range() 函数
我们先来介绍下 range() 函数。range 的英语有系列的意思,通过 range() 函数我们一创建出关于列表有规律的一系列元素。
image
在这里需要注意,它实际只会打印到4 ,不会打印到5。如果需要打印到 5 ,range() 函数应该写成 range(1,6)。也就是说它会打印到指定的值时停止,不会打印第二个指定的值。
使用 range() 创建数字列表
使用函数 list() 将 range() 的结果直接转换为列表。如果将 range() 作为 list() 的参数,我们就会得到一个数字列表。
image
以一定规律创建数字列表
range() 是一个可变参的函数,我们可以传递三个参数来指定 rang() 的步长。下面的例子就是从 1 开始,每次递加 2 ,直到 6 为止。
image
使用 range() 函数几乎可以创建任何我们需要的有规律的数字集。例如,创建一个列表,其中包含10个整数(1 - 10)的平方。在 python 中 ** 代表乘方运算。
image
这里需要稍微解释一下。在第11行,创建了一个叫做 squares 的列表,后面的( = [] )表面了它是一个列表。在 12、13、14行,生成了 1-10 的平方数,并通过 append() 函数将其添加到了列表 squares 的末尾。
为了使代码更加简洁,我们可以不使用临时变量 square ,直接将每个计算得到的值附加到列表的末尾。
image
对数字列表进行简单的统计
有专门用于处理数字列表的 python 函数,它们的功能就像它们的名字一样。
image
列表解析
前面介绍的生成列表的方式包含了三四行的语句,而列表解析可以使我们通过一行代码就可以生成列表。列表解析是将 for 循环和创建新元素的代码合并成一行,并自动的附加新元素。
image
在这里我们通过一行语句就完成我们之前的操作。
要使用这种语法,首先要指定一个描述性的列表名,如 squares。然后,指定一个左方括号,并定义一个表达式,用于生成你要存贮到列表中的值。在这个例子中,表达式为 value ** 2, 它计算平方值。接下来,编写一个 for 循环,用于给表达式提供值,再加上右方括号。在这个例子中,for 循环为 for value in range(1,11),它将 1- 10 的提供给了表达式 value ** 2 。需要注意的是这里 for 循环没有 冒号。
上面这段话是书上说的,让人云里雾里的,其实可以这么理解:
由外向内看,我们需要创建一个列表,列表的创建是这样的: squares = []
squares 由 value 的平方组成,那么便是 value ** 2
value 是由一个 for 循环生成的,for 循环是:for value in range(1,11)
这么看的话就好理解也好记一些了。这样做并不会提高代码的运行效率,但是会提高代码编写的效率,而且不失是一种很好的炫技方式。