NumPy数组初始化(使用相同的值填充)

发布于 2021-01-29 16:43:19

我需要创建一个长度为NumPy的数组n,其中每个元素为v

还有什么比:

a = empty(n)
for i in range(n):
    a[i] = v

我知道zeros并且ones可以在v = 0,1下使用。我可以使用v * ones(n),但是
vis上将不起作用None,而且速度会慢很多。

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    NumPy的1.8引入np.full(),这是比更直接的方法empty(),接着fill()用于创建填充有一定值的数组:

    >>> np.full((3, 5), 7)
    array([[ 7.,  7.,  7.,  7.,  7.],
           [ 7.,  7.,  7.,  7.,  7.],
           [ 7.,  7.,  7.,  7.,  7.]])
    
    >>> np.full((3, 5), 7, dtype=int)
    array([[7, 7, 7, 7, 7],
           [7, 7, 7, 7, 7],
           [7, 7, 7, 7, 7]])
    

    可以说 这是创建填充有某些值的数组 方式,因为它明确描述了要实现的目标(并且由于执行非常具体的任务,因此原则上非常高效)。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看