想用一个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类型