题目要求
现在有这样的一个需求:创建一个数组或列表,列表中的所有值是相同的。
解决方法
找到两种解决方法,第一种是使用Python的基础语法,第二种是借助numpy包提供的函数实现。分别为大家进行介绍。
方法一:使用Python基础语法
使用“*”号可以实现列表的创建,使用非常简单,以下示例将会创建长度为20的列表。
另外,不仅可以复制单个元素,还可以实现多个元素的复制,如下示例:
方法二:使用numpy包的函数实现
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。其中就有几个用来定义数组的函数。
生成相同元素值数组的方法如下:
1. 指定形状shape(行数,列数)、类型参数dtype,创建数组
- numpy.zeros(): 初始值为0
- numpy.ones(): 初始值为1
- numpy.full(): 任意值的初始化,可以设置任意值。
示例1
示例中,创建的组数默认类型是float64,可以通过dtype属性定义值的类型。
示例2
使用**full()**函数时要注意,第一个参数是shape,第二个参数是初始值,第三个参数可以定义类型。
2. 生成与现有数组相同(指的是形状shape,类型dtype相同)的数组
- numpy.zeros_like(): 初始值为0
- numpy.ones_like(): 初始值为1
- numpy.full_like(): 任意值的初始化
这几个函数的作用是,基于已有的数组(长度shape、类型dtype),创建新的相同初始值的数组,长度与类型都有原数组的长度和类型决定,除非使用dtype进行强制类型转换。
示例
参考资料
- https://blog.csdn.net/qq_18351157/article/details/104170810
- https://blog.csdn.net/xidianbaby/article/details/87212573