2011-12-09 22 views
4
>>> shape=(2,2) 
>>> np.random.randn(*shape) 
array([[-1.64633649, -0.03132273], 
    [-0.92331459, 1.05325462]]) 

numpyのドキュメントでは見つかりませんでした。どんな助けもありがとうございます。numpyの '*'の意味は何ですか?

答えて

15

これはNumPy固有の構文ではありません。それはPython構文です。いわゆる* -operatorは、引数リストでシーケンスのアンパックを行うPython構文です(Unpacking Argument Listsを参照)。

例では、shapeタプルを別々の引数に展開して使用しています。これは、numpy.random.randnが整数のタプルではなく、任意の数の整数をパラメータとして取るために必要です。 (完全を期すため、**はなく、キーワード/名前付き引数と、同じことを)

>>> np.random.randn(2, 2) 
関連する問題