以灵活的方式在python中实现Matlab结构



我想在python中实现一个像Matlab结构一样灵活的结构。我已经在Python中研究了Matlab结构[重复],但不同的是,我想要一个灵活的结构,其中字段名称和结构的深度事先不知道。例如,在Matlab中,你可以说:

parent.child1.grandchild1=2
parent.child1.grandchild2=3
parent.child2.grandchild1.grand-grandchild1=1

而不使用字段名初始化软结构。我想实现一个结构,只要用户(不习惯python(想在他使用的结构中存储测量值,就可以调用该结构。因此,调用可能在一个代码中发生多次。我研究过嵌套的defaultdict,但并没有真正找到解决方案。我读过numpy数组通常用于此目的,但如何在不损失性能的情况下不断向numpy数组添加字段?如有任何帮助,我们将不胜感激。

最初MATLAB只有2dmatrices。这些类似于numpy.ndarray。实际上,numpy.matrix是一个始终为2d的子类,适用于任性的MATLAB程序员。

MATLAB随后添加了cell,它们有点像pythonlist。也就是说,它们可以保存对任何类型对象的引用。

然后添加CCD_ 6。这有点像python类。一个类通常应该在开始时定义所有属性,但通常可以通过分配来添加属性

anObject.foobar = "astring"

它接着添加了一个类系统,首先是作为struct的一个粗略的附加组件,然后进行了更精细的处理。但相比之下,在python中,一切都是一个对象,一个类的实例。

scipy.io.loadmat可以读取MATLAB.mat文件(最高达7.3版(。它返回一个numpy数组-对象dtype用于cellstructured数组用于struct。但是这些都没有你在MATLAB中看到的那种可扩展性。

相关内容

  • 没有找到相关文章

最新更新