繁体   English   中英

类似于MatLab数据结构的Python

[英]Python analog to MatLab data structure

我最近跳出了矩阵实验室窗口,我正在尝试让Python / Numpy / Scipy做我以前在MatLab中做的事情。 到目前为止它似乎真的很好,但我正在努力的一件事就是在MatLab中找到类似于数据结构的东西。

我想编写一个通用代码来读取.xml文件,并根据变量是字符串,标量还是矩阵将变量自动分配到数据结构中。 典型的xml文件将像这样拆分:

<material>
<id>
1
<\id>
<E>
17e4
<\E>
<var 2>
'C:\data file path'
<\var 2>
<var 3>
[1 2;3 4]
<\var 3>
<\material>
<material>
<id>
2
<\id>
<var 1>
17e4
<\var 1>
<var 2>
'C:\data file path'
<\var 2>
<var 3>
[1 2;3 4]
<\var 3>
<\material>
...
etc

在Matlab中我会创建一个这样的数据结构:

Materials.1.E=17e4
Materials.1.var2='C:\data file path'
Materials.1.var3=[1 2;3 4]
Materials.2.E=17e4
Materials.2.var2='C:\data file path'
Materials.2.var3=[1 2;3 4]

如果python中的列表可以是2D(因此我可以将每种材料的所有变量都排成一行),或者字典可以具有多个层或可以包含列表,那么它们会是完美的,但是我找不到我想要的东西想要此刻!

任何帮助都感激不尽!

正如Shai所建议的那样,您可以使用词典列表。 对于您的示例,这将看起来像这样:

Materials = []

Materials.append({'E': 17e4, 'var2': 'C:\\data file path', 'var3': [1, 2, 3, 4]})
Materials.append({'E': 17e4, 'var2': 'C:\data file path', 'var3':[1, 2,3, 4]})

print Materials[0]['var2']

打印:

C:\data file path

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM