簡體   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