python列表和元素的区别_python数组和列表区别
python中的list是python的内置数据类型,list中的数据类不必相同的,⽽array的中的类型必须全部相同。在list中的数据类型保存的是数
据的存放的地址,简单的说就是指针,并⾮数据,这样保存⼀个list就太⿇烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存
储和消耗cpu。numpy中封装的array有很强⼤的功能,⾥⾯存放的都是相同的数据类型
python本⾝并没有数组类型,但是他的Numpy库中有数组类型。推荐学习:Python视频教程)
⼆者都可以⽤于处理多维数组。
Numpy中的ndarray对象⽤于处理多维数组,它作为⼀个快速⽽灵活的⼤数据容器。Python列表可以存储⼀维数组,通过列表的嵌套可以
实现多维数组。
2存储效率和输⼊输出性能不同。
Numpy专门针对数组的操作和运算进⾏了设计,存储效率和输⼊输出性能远优于Python中的嵌套列表,数组越⼤,Numpy的优势就越明
显。
3元素数据类型。
通常,Numpy数组中的所有元素的类型都必须相同的,⽽Python列表中的元素类型是任意的,所以在通⽤性能⽅⾯Numpy数组不及
Python列表,但在科学计算中,可以省掉很多循环语句,代码使⽤⽅⾯⽐Python列表简单的多。
array的创建
Numpy数组创建时,参数既可以是list,也可以是元组。例如:>>> a=np.array((1,2,3))#参数是tuple
>>> b=np.array([6,7,8])#参数是list
>>> c=np.array([[1,2,3],[4,5,6]])#参数是⼆维list
除此之外,还可以使⽤numpy提供的其他⽅法创建⼀个数组,例如:>>> arr1=np.arange(1,10,1)
>>> arr2=np.linspace(1,10,10)
np.arange(a,b,c)表⽰产⽣从a-b不包括b,间隔为c的⼀个array,数据类型默认是int32。但是linspace(a,b,c)表⽰的是把a-b平均分成c
分,它包括b。