考虑张量
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以外的库来执行此操作。
答案 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]]