numpy Q&A_1


2022/03/11

偶然实践了解到列表和数组的使用上某个区别

代码_1

import numpy as np

a = [[1,2,3],[4,5,6]]
b = np.asarray(a)
print('type of b: ' + str(type(b)))
print('type of the element of b: ' + str(type(b[0])))

c = list(b)
print('type of c: ' + str(type(c)))
print('type of the element of c: ' + str(type(c[0])))

运行效果_1

代码_2

import numpy as np

a = [1,2,3]
b = np.asarray(a)
print('type of b: ' + str(type(b)))
print('type of the element of b: ' + str(type(b[0])))

c = list(b)
print('type of c: ' + str(type(c)))
print('type of the element of c: ' + str(type(c[0])))

运行效果_2

总结

可以看到,numpy.asarray()进行数组化时将列表整体和列表内的元素一并数组/数组元素化;而list()进行列表化时是对数组整体(或者说外壳)进行列表化,而其内部元素类型仍保持不变(numpy.ndarray/numpy.int32)