numpy.array可以专门表示二维或多维数据
b=np.array(a)
>>b
array=([[1,2,3],
[4,5,6],
[7,8,9]])
总结两点不同的地方:
1.元素类型
list是python的基本数据类型,它的元素类型可以不同。如:[1, 2, 'a', 3,4];
array是numpy的一种数据类型,所包含的元素类型必须相同。
在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。
2.索引方式
在索引方式上,numpy.array支持比list更多的索引方式。
list对应的索引方式:
a[1][1] = 5
a[1] = [4,5,6]
a[1][:] = [4,5,6]
a[1,1]
会报错,相当于被认为a[(1,1)] ,即索引项被误认为是元组(1,1) ,报以下错误:
TypeError: list indices must be integers, not tuple
a[:,1]
同上,报同样错误
numpy.array对应的索引方式:
b[1][1] = 5
b[1] = array([4,5,6])
b[1][:] = array([4,5,6])
b[1,1] = 5
b[:,1] = array([2,5,8])