小编Giv*_*Alz的帖子

python list +空的numpy数组=空的numpy数组?

今天,我发现代码中有些奇怪的地方,发现在某些情况下它会执行以下命令:

my_list = [0] + np.array([])
Run Code Online (Sandbox Code Playgroud)

结果my_list如下:

array([], dtype=float64)
Run Code Online (Sandbox Code Playgroud)

一开始我很困惑,比我理解的解释器要先将列表转换为一个numpy数组,然后再尝试广播操作:

>>> np.array([0]) + np.array([])
array([], dtype=float64)
Run Code Online (Sandbox Code Playgroud)

我对此行为有一些疑问:

  • 为什么要广播?
  • python抛出错误会更好吗,至少在这种情况下,列表被转换并消失了?

感谢您的澄清!

python arrays numpy numpy-broadcasting

6
推荐指数
1
解决办法
91
查看次数

标签 统计

arrays ×1

numpy ×1

numpy-broadcasting ×1

python ×1