如何获得等级N张量的任何列?

时间:2017-09-28 12:54:48

标签: python numpy tensor

考虑张量

import numpy as np
array = np.array([
    [[111, 112], [121, 122]],
    [[211, 212], [221, 222]],
])

>>> print(array[:, 0, [0, 1]])
[
 [111 112]
 [211 212]
]

>>> print(array[:, 1, [0, 1]])
[
 [121 122]
 [221 222]
]

现在,我如何获得元素(:, 0, 1)(:, 1, 0)

[
 [112 121]
 [212 221]
]

如上所述的numpy ndarray?

似乎

>>> print(array[:, [(1, 0), (0, 1)]])

不是正确的表示法。

通常,给定一个索引元组列表,如何获得这些元组的N-1张量(-1因为这里的第一个等级总是:)?

如果numpy不支持它,我愿意使用numpy以外的库来执行此操作。

1 个答案:

答案 0 :(得分:2)

您可以使用void rlr(Node * x,Node * z) { if (x != NULL) { if (a condition) { z = x; } rlr(x->get_left(),z); rlr(x->get_right(),z); } } void main() { .... Node * z = NULL; rlr(root,z); while(z!=NULL) .... } ,详细了解语法here

[:, [0,1], [1,0]]