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

 

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