我了解有关 python 中逗号运算符的简单概念。例如,
x0, sigma = 0, 0.1
表示 x0=0,且 sigma=0.1。但是我获得了一个代码,其中一行看起来像下面这样。
y, xe = np.histogram(np.random.normal(x0, sigma, 1000))
其中 y 和 xe 的输出如下。
y
Out[10]: array([ 3, 17, 58, 136, 216, 258, 189, 87, 31, 5], dtype=int64)
xe
Out[11]:
array([-0.33771565, -0.27400243, -0.21028922, -0.146576 , -0.08286279,
-0.01914957, 0.04456364, 0.10827686, 0.17199007, 0.23570329,
0.2994165 ])
我不确定如何阅读 y, xe 表达式。我可以查找什么来理解它在说什么?
原文由 user7852656 发布,翻译遵循 CC BY-SA 4.0 许可协议
x0, sigma = 0, 0.1
是语法糖。幕后发生了一些事情:0, 0.1
隐式创建两个元素的元组。x0, sigma =
将该元组解压到这两个变量中。如果您查看
numpy.histogram
的文档,您会看到它返回以下两个内容:您的
y, xe = ...
分别解压两个返回数组的元组。这就是为什么你的y
被分配给一个 numpy int64 数组,而你的xe
被分配给一个 numpy float 数组。