1
Amy 原创整理|资料核验:2026-11-03
NumPy的 unravel_index 可以把扁平索引还原成多维坐标,但必须提供目标 shape,并让 order 与产生该索引时的顺序一致。默认 C 按行理解,F 按列理解。
【Amy编写的教学示例,索引从0开始】对于形状(2,4),np.unravel_index(5, (2,4), order='C') 对应(1,1);换成 order='F',同一个5对应(1,2)。前者每行4个元素,后者每列2个元素,所以坐标不同。
若传入一组索引,返回值按坐标轴组织:二维情况得到一份行坐标数组和一份列坐标数组,各数组的形状与输入索引数组相同。Amy建议:保存扁平位置时,把原 shape 和遍历顺序一起记录;还原前先检查这两项,避免坐标看起来合法,却指向另一格。
官方来源:
https://numpy.org/doc/stable/reference/generated/numpy.unravel_index.html