我正在使用scipy.io.loadmat nested structures (i.e. dictionaries)中的代码将matlab结构读入Python。我想列出dtype列表中出现的字段名称。我的代码是:

matfile   =loadmat(dataDirStr + matFileName, struct_as_record=True) # a dictionary
theseKeys = matfile.keys()            #as list
thisDict  = matfile[ theseKeys[ 1 ] ] #type = void1152, size = (1, 118)
#
#screen display of contents is:
#
dtype    = [ ( 'Aircraft_Name', 'O'), ('Low_Mass', 'O') ]


因此,考虑到这一点,我想在dtype中创建条目列表:

thisList = [ 'Aircraft_Name', 'Low_Mass' ] #etc., etc.


这样可以保留dtype条目中名称的顺序。

你能帮我么?

最佳答案

只需使用列表推导并在每次迭代中从每个元组中提取第一项即可:

thisList = [item[0] for item in dtype]


或作为功能性方法使用zip()

thisList = next(zip(*dtype)) # in python 2.x zip(*dtype)[0]

关于python - dtype列表中的字段名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38817932/

10-13 06:44