【问题标题】:What is the meaning of '*' in numpy?numpy中的'*'是什么意思?
【发布时间】:2011-12-09 18:32:29
【问题描述】:
>>> shape=(2,2)
>>> np.random.randn(*shape)
array([[-1.64633649, -0.03132273],
   [-0.92331459,  1.05325462]])

我在 numpy 的文档中找不到它。任何帮助表示赞赏。

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    这不是 NumPy 特定的语法;它是 Python 语法。所谓的*-operator 是 Python 语法,它在参数列表中进行序列解包(参见Unpacking Argument Lists)。

    您的示例中的用途是将shape 元组解压缩为单独的参数。这是必需的,因为numpy.random.randn 将任意数量的整数作为参数,而不是整数元组。

    问题中的代码相当于做:

    >>> np.random.randn(2, 2)
    

    【讨论】:

      【解决方案2】:

      People other places sometimes call it the 'splat'.(为了完整起见,** 做同样的事情,但带有命名/关键字参数)。

      【讨论】:

        猜你喜欢
        • 2021-10-08
        • 2011-04-28
        • 2013-09-12
        • 1970-01-01
        • 1970-01-01
        • 2017-06-06
        • 2015-06-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多