我有一个数组是用
array1 = np.array([[25, 160, 154, 233],
[61, 244, 198, 248],
[227, 226, 141, 72 ],
[190, 43, 42, 8]],np.int) ;
显示为
[[25, 160, 154, 233]
[61, 244, 198, 248]
[227, 226, 141, 72]
[190, 43, 42 , 8]]
如何将此数组显示为十六进制数,如下所示:
[[0x04, 0xe0, 0x48, 0x28]
[0x66, 0xcb, 0xf8, 0x06]
[0x81, 0x19, 0xd3, 0x26]
[0xe5, 0x9a, 0x7a, 0x4c]]
注意:十六进制数字可能不是整数中数字的真正转换。我填充十六进制数组只是为了举例说明我需要什么。
您可以为numpy设置打印选项。
给予
最后的L只是因为我在64位平台上,它正在向格式化程序发送long。为了解决这个问题你可以用
只要把我的两分钱投进去,你就可以很简单地用列表理解来完成,如果它总是一个这样的二维数组
这给了你
[['0x1', '0x2'], ['0x3', '0x4']]
Python有一个内置的hex函数,用于将整数转换为十六进制表示(字符串)。可以使用numpy.vectorize将其应用于多维数组的元素。
可能有一种内置的方法来使用numpy,如果速度是一个问题的话,这将是一个更好的选择。
相关问题 更多 >
编程相关推荐