Python 3.8从零开始学
上QQ阅读APP看书,第一时间看更新

3.1.4 乘法

在Python中,序列的乘法和我们在数学中学习的乘法需要分开理解。

在Python中,用一个数字n乘以一个序列会生成新的序列。在新的序列中,会将原来的序列将首尾相连重复n次,得到一个新的变量值,赋给新的序列,这就是序列中的乘法。在交互模式下  输入:

>>> 'hello' * 5
'hellohellohellohellohello'
>>> [7] * 10
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7]

由输出结果可以看到,序列被重复了对应的次数首尾相连,而不是做了数学中的乘法运算。

在Python中,序列的乘法有什么特殊之处呢?

如果要创建一个重复序列,或要重复打印某个字符串n次,就可以像上面的示例一样乘以一个想要得到的序列长度的数字,这样可以快速得到需要的列表,非常方便。

空列表可以简单通过两个方括号([])表示,表示里面什么东西都没有。如果想创建一个占用10个或更多元素的空间,却不包括任何有用内容的列表,该怎么办呢?可以像上面的示例一样乘以10或对应的数字,得到需要的空列表,也很方便。

如果要初始化一个长度为n的序列,就需要让每个编码位置上都是空值,此时需要一个值代表空值,即里面没有任何元素,可以使用None。None是Python的内建值,确切含义是“这里什么也没有”。例如,在交互模式下输入:

>>> sq=[None] * 5  #初始化sq为含有5个None的序列
>>> sq
[None, None, None, None, None]

由输出可以看到,Python中的序列乘法可以帮助我们快速做一些初始化操作。通过序列的乘法做重复操作、空列表和None初始化的操作十分方便。