首页 > 解决方案 > 将数组的 numpy 数组作为星号传递给函数会更改数组中第一项的值

问题描述

我有一个返回 numpy ndarray 的函数,它返回的值看起来正确:

在此处输入图像描述

具有值的两个数组,2.52.。我需要将此变量传递给一个函数,但如果我没有星号,它会给我这个错误:

函数接受 1 个位置参数,但给出了 2 个

所以我假设它正在解析值并假设两个数组应该是两个参数,即使函数接受一个参数。

接受数组数组的函数如下所示:

def validate_arrays(*arrays):

这是数组变量传入函数时的样子:

在此处输入图像描述

第一个值更改为类引用或其他内容。我感觉这里不适合使用星号。但这是我在查找这些东西时发现的。而且我对 Python 很陌生,所以我不知道您通常如何处理这种情况。任何帮助将不胜感激。

标签: pythonpython-3.xnumpy

解决方案


问题是该函数在一个类中,并且该类假定第一个值是self. 因此将定义更改为:

def validate_arrays(self, arrays):

解决它。


推荐阅读