我有一个numpy数组的列表mask_arr
,列表的元素是numpy数组,如下所示:
mask_arr[0][:]
array([[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
...,
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255]], dtype=uint8)
如何仅使用2D阵列而不使用dtype
部分:
[[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
...,
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255]]
原因是我收到以下错误:
im = mask_arr[i]
*** TypeError: only integer scalar arrays can be converted to a scalar index
1条答案
按热度按时间m528fe3b1#
创建数组列表:
列表默认显示:
使用
str
方法显示列表的元素:数组、
dtype
和逗号省略,这只是一种显示方式;实际阵列中没有变化。将其与转换为列表的数组的显示进行比较-注意逗号。
在python中,每个类都定义了
__str__
和__repr__
方法,这些方法决定了它们的显示方式,显示方式给出了对象类的概念,但是不同的显示方式并不会改变类。同样,每个类都有自己的索引规则。