我有一些数据存储在3x3x3嵌套列表中,我想从该列表中获取2D图层。
例如,我想在以下列表中执行a [:,:,2],a [0,:,:]或a [:,1 ,:]之类的事情:
a=[
[
[(0, 0, 0), (0, 0, 1), (0, 0, 2)],
[(0, 1, 0), (0, 1, 1), (0, 1, 2)],
[(0, 2, 0), (0, 2, 1), (0, 2, 2)],
],
[
[(1, 0, 0), (1, 0, 1), (1, 0, 2)],
[(1, 1, 0), (1, 1, 1), (1, 1, 2)],
[(1, 2, 0), (1, 2, 1), (1, 2, 2)],
],
[
[(2, 0, 0), (2, 0, 1), (2, 0, 2)],
[(2, 1, 0), (2, 1, 1), (2, 1, 2)],
[(2, 2, 0), (2, 2, 1), (2, 2, 2)],
],]
获得:
[
[(0, 1, 0), (0, 1, 1), (0, 1, 2)],
[(1, 1, 0), (1, 1, 1), (1, 1, 2)],
[(2, 1, 0), (2, 1, 1), (2, 1, 2)],]
我尝试过,但是对列表执行a [:] [1] [:]却没有任何作用,所以我只得到了一个看起来像这样的a [1]:
[
[(1, 0, 0), (1, 0, 1), (1, 0, 2)],
[(1, 1, 0), (1, 1, 1), (1, 1, 2)],
[(1, 2, 0), (1, 2, 1), (1, 2, 2)],]
我不认为我可以使用numpy,因为我使用的jython不支持用c实现的库。
您能帮我找到一种很好的方法吗(或者找到像numpy这样的可在jython上运行的库)?
答案 0 :(得分:2)
这将收集每个子矩阵的中间行:
[x[1] for x in a]