Python:Numpy Array:无法访问/引用来自另一个类的numpy数组

时间:2016-09-29 11:29:27

标签: python python-3.x numpy

我有一个数据采集类,它接收数据并将其保存到一个numpy数组中。

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

这些行位于由线程管理的while循环中。我用一个简单的getter返回“self.xxlist”:

def get_xlist(self):
    return self.xxList

然后我尝试在另一个类中引用相同的列表,这当然有我的数据采集类的实例。

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

这对numpy不起作用 - self.xaList总是保持不变(空)并且不对任何获取​​的数据进行更新 - 但是使用简单的.append(数据)的常规python列表。

我想这可能是因为元素被附加到numpy数组的方式,每次添加一个元素时,它会创建一个新列表并返回对它的引用。我引用的列表是第一个列表,新创建的列表有一些不同的地址,因此引用的列表始终保持不变。

我无法找到解决方法使其功能像普通的python列表一样。如果我关于它为什么不起作用的结论是正确的,我会赞美任何帮助和澄清。

PS:我使用数据绘制实时图表但是列表 - xaList - i输入到绘图功能始终为空,并且正在绘制nothings。如果我直接提供xxList(列表我写的串行数据)它可以工作,但这真的导致一个糟糕的面向对象设计

0 个答案:

没有答案