相关疑难解决方法(0)

从列表理解和一般情况下有效地创建numpy数组

在我目前的工作中,我使用Numpy和列表理解很多,为了最好的表现,我有以下问题:

如果我按如下方式创建Numpy数组,幕后实际发生了什么?:

a = numpy.array( [1,2,3,4] )
Run Code Online (Sandbox Code Playgroud)

我的猜测是python首先创建一个包含值的普通列表,然后使用列表大小来分配一个numpy数组,然后将值复制到这个新数组中.这是正确的,还是解释器聪明到足以意识到列表只是中介而是直接复制值?

同样,如果我希望使用numpy.fromiter()从列表理解中创建一个numpy数组:

a = numpy.fromiter( [ x for x in xrange(0,4) ], int )
Run Code Online (Sandbox Code Playgroud)

这会导致在被送入fromiter()之前创建的值的中间列表吗?

最好的问候尼尔斯

python performance numpy

36
推荐指数
2
解决办法
2万
查看次数

标签 统计

numpy ×1

performance ×1

python ×1