Python 从深度数组中提取列表
我有一套Python 从深度数组中提取列表,python,python-3.x,Python,Python 3.x,我有一套*.mat文件,我可以很容易地阅读它们。每个文件的形状为(1,1),如下所示: [[(array([[ 20913, 28913, 36913, 44913, 52914, 60914]], dtype=int32), array([[ 1, 1, -1, 1, 1, 1]], dtype=int16))]] 在这种情况下,如何提取每个数组?通过复制您拥有的相同嵌套列表,可以很容易理解: import numpy as np arr1 = np.arra
*.mat
文件,我可以很容易地阅读它们。每个文件的形状为(1,1)
,如下所示:
[[(array([[ 20913, 28913, 36913, 44913, 52914, 60914]], dtype=int32), array([[ 1, 1, -1, 1, 1, 1]], dtype=int16))]]
在这种情况下,如何提取每个数组?通过复制您拥有的相同嵌套列表,可以很容易理解:
import numpy as np
arr1 = np.array([[20913, 28913, 36913, 44913, 52914, 60914]], dtype=np.int32)
arr2 = np.array([[1, 1, -1, 1, 1, 1]], dtype=np.int16)
lst = [[arr1, arr2]]
print(lst)
上面是您的lst
结构,还有arr1
和arr2
是(1,1):
首先[0]
获取[arr1,arr2]
。下一个括号分别代表arr1
和arr2
使用tolist()
可以将它们转换为python的内置列表类型,因为它们是(1,1),所以需要第一项,这意味着[0]
nested1 = lst[0][0].tolist()[0]
nested2 = lst[0][1].tolist()[0]
print(nested1)
print(nested2)