Skip to main content
 首页 » 编程设计

python之NumPy 数组大小问题

2025年05月04日20yjmyzz

我有一个大小为 (3, 3) 的 NumPy array。当我在 __main__ 模块中打印 array 的形状时,我得到了 (3, 3)。但是,我将这个数组传递给一个函数,当我在函数中打印它的大小时,我得到了 (3, )。

为什么会这样?

此外,元组的最后一个元素未指定是什么意思?也就是说,(3, ) 不应该首先是一个无效的元组吗?

请您参考如下方法:

回答你的第二个问题:

Python 中的元组是 n 维的。那就是你可以有一个 1-2-3-...-n 元组。由于语法原因,您表示 1 维 元组的方式是 ('element',),其中尾随逗号是必需的。如果你有 ('element') 那么这只是括号内的表达式。所以 (3) + 4 == 7,但是 (3,) + 4 == TypeError。同样 ('element') == 'element'.

回答你的第一个问题:

传递数组很可能是你做错了什么。如果不对数组进行某种类型的突变,NumPy 数组就没有理由歪曲自己。