>>> shape=(2,2)
>>> np.random.randn(*shape)
array([[-1.64633649, -0.03132273],
[-0.92331459, 1.05325462]])
我在numpy的文档中找不到它。任何帮助表示赞赏。
答案 0 :(得分:15)
这不是NumPy特有的语法;它是Python语法。所谓的*
- 运算符是Python语法,它在参数列表中对序列进行解包(参见Unpacking Argument Lists)。
您的示例中的用法是将shape
元组解压缩到单独的参数中。这是必需的,因为numpy.random.randn
将任意数量的整数作为参数,而不是整数元组。
问题中的代码等同于:
>>> np.random.randn(2, 2)
答案 1 :(得分:1)
People other places sometimes call it the 'splat'.(为了完整性,**
执行相同的操作,但使用命名/关键字参数)。