python如何定义二维结构体数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何定义二维结构体数组?相关的知识,希望对你有一定的参考价值。

我想定义一个二维数组,数组里面的每一个元素是由不同类型的数据组成的列表,如Data[0][0]=['id',1,2,3],类似于结构体数组吧。

参考技术A Data[2,2]=[(2,3),(2,1)] 参考技术B 列表里装列表。

使用python读取mat文件中的结构体数组

python读取mat文件中的结构体时,默认其为二维数组形式,默认结构体中的某个字段为二维数组,无论其是一个数,一个向量,还是一个二维数组。
现在读取一个mat文件中一个1*10的结构体及其中的元素。
技术图片

  • 读取文件
import scipy.io as sio
roadef_info = sio.loadmat(r'data/TestSetA.mat')
prob = roadef_info['prob']
print(prob.shape)

技术图片

  • prob的结构如下
    技术图片

  • 读取prob中的元素
    • 当某一个字段是一个数时,默认为一个二维数组
      技术图片

    • 当某个字段是一个二维数组时,读取的仍为二维数组
      技术图片

    • 结构体中的结构体仍然是一个二维结构体,这与一个数的逻辑是一样的
      技术图片
      技术图片

    • 当某一个字段是一个向量时,仍默认为一个二维数组
      技术图片
      技术图片

参考资料

以上是关于python如何定义二维结构体数组?的主要内容,如果未能解决你的问题,请参考以下文章

第43天sort 的复杂运用 | 对二维数组与结构体实现自定义排序

C语言一维数组二维数组结构体的初始化

go语言基础函数,数组,指针,结构体

go语言基础函数,数组,指针,结构体

C语言如何返回结构体数组

c语言结构体数组赋值问题 如果用同一个结构体定义了2个不同的数组1和数组2。可以 数组1=数组2;