Python:Numpy数组:无法从其他类访问/引用Numpy数组

2024-04-19 12:30:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据采集类,它获取数据并将其保存到numpy数组中。你知道吗

voltage = float((data.decode())[0:-2]) * 1000
print(voltage)
self.xxList = np.append(self.xxList, [voltage])

这些行位于由线程管理的while循环中。我还了那个“self.xx列表“使用简单的getter:

def get_xlist(self):
    return self.xxList

然后我尝试在另一个类中引用同一个列表,这个类当然有我的数据获取类的实例。你知道吗

 self.mySerial = SerialFirat(self)
 self.xaList = self.mySerial.get_xlist()

这对numpy不起作用self.xaList文件始终保持不变(空)并且不更新任何获取的数据-但是使用一个使用simple.append(数据)的常规python列表。你知道吗

我想这可能是由于元素被附加到numpy数组的方式造成的,它创建一个新的列表并在每次附加元素时返回对它的引用。我引用的列表是第一个列表,新创建的列表有一些不同的地址,所以引用的列表始终保持不变。你知道吗

我找不到一个办法使它像一个普通的python列表一样工作。如果我对它为什么不起作用的结论是正确的,我将感谢任何帮助和澄清。你知道吗

PS:我用这些数据来绘制一个活动的图形,但是给plotting函数的list-xaList-I提要总是空的,没有任何东西被绘制出来。如果我直接输入xxList(我在其中写入serialData的列表),它可以工作,但这确实会导致一个糟糕的面向对象设计


Tags: 数据selfnumpy元素列表get绘制数组