我尝试自己实现np.unravel_index
和np.ravel_multi_index
。对于np.ravel_multi_index
,我可以写这个简短的函数:
def coord2index(coord, shape):
return np.concatenate((np.asarray(shape[1:])[::-1].cumprod()[::-1],[1])).dot(coord)
但我很难找到一个类似的,简短的(一行程序)函数np.unravel_index
。有人有主意吗?
2条答案
按热度按时间9rbhqvlz1#
这是一种可能的实现方式:
rggaifut2#
我有一个简短的实现,不使用numpy,但目前只适用于单个索引,而不是像numpy.unravel_index()那样的一组索引。
注意:我觉得“on my own”意味着不使用numpy,否则如果你被允许使用numpy,为什么不直接调用numpy.unravel_index()呢?