You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将NumPy标量元组美观打印为常规数值形式?

优化NumPy索引的打印格式

原脚本与问题

原NumPy 2.2.6脚本:

import numpy as np 

a = np.arange(24).reshape(2, 2, 2, 3)
idx = np.unravel_index(np.argmax(a, axis=None), a.shape)
print(idx)

运行后输出可读性较差:

(np.int64(1), np.int64(1), np.int64(1), np.int64(2))

我们需要找到比print(np.array(idx))更优的简便方法,将idx打印为(1, 1, 1, 2)的形式。


可行方法

方法1:转换为原生Python元组

直接将NumPy返回的元组转换为原生Python元组,打印时自动输出简洁格式:

print(tuple(idx))

输出:(1, 1, 1, 2)

方法2:批量转换元素类型

通过map(int, idx)把每个NumPy整数转为Python原生int,再组成元组打印:

print(tuple(map(int, idx)))

输出:(1, 1, 1, 2)

方法3:格式化字符串拼接

使用f-string直接提取元素并拼接成目标格式(适合固定维度的场景):

print(f"({idx[0]}, {idx[1]}, {idx[2]}, {idx[3]})")

输出:(1, 1, 1, 2)

方法4:定制化数组格式化

利用np.array2string实现更灵活的输出控制:

print(f"({np.array2string(np.array(idx), separator=', ')})")

输出:(1, 1, 1, 2)


内容的提问来源于stack exchange,提问作者Paul Jurczak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:52:37