/ / numpy配列の代わりにリストを使う - python、numpy、python-3.x、scipy

代わりにnumpy配列のリストを使う - python、numpy、python-3.x、scipy

私はリスト(リストのリスト)を標準として持っていますデータ構造(ほとんどの関数はリスト/リストのリストを返します)。しかし、今ではいくつかのNumpy関数を使用する必要があります。 numpy / scipyから関数を使用する前に、すべてのリストをnumpy配列に変換する必要がありますか?例えば

>>>x= [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>>y= [ 1, 10, 20]
>>>dot(x,y)
#array([ 81, 174, 267])
>>>X_np=array(x)
>>>y_np=array(y)
>>>dot(x_np,y_np)
#array([ 81, 174, 267])

この場合、ドット(x、y)とドット(x_np、y_np)は同じ結果を示したので、numy配列の代わりにlistを使用すると違いはありません....しかし、これはすべてのnumpy / scipy関数またはIしなければなりません my_np_array= array(my_list) 任意/すべてのnumpy / scipy関数を呼び出す前に?

回答:

回答№1の場合は3

ほとんどすべてのnumpy / scipy関数は入力を配列に変換してから操作します。しかし、なぜ私を信じていますか?必要なものを試してみて、それが機能するかどうかを確認してください。

例外は、以下のように配列を変更する関数です。 np.put 例えば。

>>> np.put([1,2,3],[0,1],[2,1])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py", line 394, in put
return a.put(ind, v, mode)
AttributeError: "list" object has no attribute "put"