问题描述
我有一个列表列表,其中包含numpy int32值。我想将所有这些int32值都转换为常规int。原因是因为在我的过程中,这些值稍后会被馈送到非最大抑制函数中,该函数将不接受int32。
下面是我的数据的结构形式(常规int形式)。我不知道如何为int32值建立测试集...否则我可能会发现此问题。
整数列表
test_list = [[1,2,3,4],[5,6,7,8]]
编辑:一些屏幕截图有助于了解我的数据。
解决方法
非迭代转换的示例。
使用以下内容将结构保留为ndarray
:
a.astype(int)
>>> array([[1,2,3,4],[5,6,7,8]])
或更简单地说,使用它可以将ndarray
转换为list
:
a.tolist()
>>> [[1,8]]
背景:
您提到您的列表包含int32
个值。因此,“列表”实际上很有可能是numpy.ndarray
。这是一个示例:
a = np.array([[1,8]],dtype=np.int32)
>>> array([[1,dtype=int32)
如果是这种情况,那么将ndarray
值的list
转换为“正常” int
就像上面显示的两个示例一样简单。
这应该有效:
const icons:
Record<string,Record<string,React.MemoExoticComponent<(props: React.SVGProps<SVGSVGElement>) => JSX.Element>>>
= { ... }
declare const iconSet: string;
declare const iconName: string;
const Comp = icons[iconSet][iconName];