想用一个list来动态地增加numpy类型数据,如下面的代码所示,发现报错TypeError: 'numpy.int64' object is not iterable
a = []b = np.array([1,2,3])a.extend(b[0])a.extend(b[1])a.extend(b[2])print(a)
于是将numpy数据转为list类型,如下所示:
a = []b = np.array([1,2,3])a.extend(b[0].tolist())a.extend(b[1].tolist())a.extend(b[2].tolist())print(a)
发现报错:TypeError: 'int' object is not iterable
通过打印‘b[0].tolist()’的类型,发现‘b[0].tolist()’的类型是‘int’,即还是没有把‘b[0].tolist()’转为list类型
再修改代码如下,通过加个中括号[]把‘b[0].tolist()’转为list类型
a = []b = np.array([1,2,3])a.extend([b[0].tolist()])a.extend([b[1].tolist()])a.extend([b[2].tolist()])print(a) #[1, 2, 3]
-------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------------
后来我发现直接用下面的代码也可以解决:
a = []b = np.array([1,2,3])a.extend([b[0]])a.extend([b[1]])a.extend([b[2]])print(a) #[1, 2, 3]
这是因为通过加个中括号[]把‘b[0]’从numpy数据类型转为了list类型