python中list和array的区别

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])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章