1. 程式人生 > >list、tuple的相關操作和array、mat的定義

list、tuple的相關操作和array、mat的定義

     在用Python做資料分析的時候,會用到很多資料型別,因此,對個數據型別的用法需要一定的瞭解。

1. list

list的包含的資料型別不一定必須相同,可以為字串、數值以及陣列,其中,llist大都應用它的內建函式。

定義列表:a = [[1,2],[3,4],’string’]

1. append

append方法用於新增新的物件

2. count

count方法統計某個元素

3. extend

extend方法用於新增某個列表

b =[‘jolin’]

a.extend(b)

print a

>>[[1,2],[3,4],’string’,’jolin’]

4. index

index方法用於從列表中找到符合匹配項的索引位置

print a.index(‘string’)

print a

>>2

5. insert

insert方法用於將物件插入列表

print a.insert(2,’jay)

print a

>>[[1,2],[3,4],’jay’,’string’]

6. pop

pop方法會移除列表中的一個元素(預設是最後一個),並返回該元素的值

a.pop()

>>string

>>a

>>[[1,2],[3,4]]

>>a.pop(1)

>>[3,4]

7. remove

remove方法用於移除列表中第一個匹配的項

a = [‘jay’,’jolin’,’kobe’,’yamazaki’,’iori’,’kobe’]

a.remove(‘kobe’)

>>a

>>[‘jay’,’jolin’,’yamazaki’,’iori’,’kobe’]

8. reverse

reverse方法將列表的元素反向存放

x =[1,2,3]

x.reverse()

>>x

>>[3,2,1]

9. sort

sort方法用於在原位置對列表進行排序,在原位置排序意味著改變原來的列表,從而讓其中的元素能按一定的順序排列,而不是返回副本

x =[4,6,2,1,7,9]

>>x.sort()

>>x

>>[1,2,4,6,7,9]

>>y=x.sort()

>>print y

>>None

10. 高階排序

如果希望元素能按照特定的方式進行排序,那麼可以通過compare(x,y)的形式自定義比較函式。compare(x,y)函式會在x<y時返回負數,x>y時返回正數,x=y時返回0

numbers =[5,2,9,7]

>>numbers.sort(cmp)

>>numbers

[2,5,7,9]

sort方法有另外兩個可選的引數——keyreverse。如果要使用它們,那麼就要通過名字來指定(關鍵字引數),並根據關鍵字來排序

x = [‘aardvark’,’abalone’,’acme’,’add’,’aerate’]

>>x.sort(key=len)

>>x

[‘add’,’acme’,’aerate’,’abalone’,’aardvark’]

x=[4,6,2,1,7,9]

>>x.sort(reverse=True)

>>x

>>[9,7,6,4,2,1]

 

2、元組

通過tuple函式來定義元組,

>>a=tuple([1,2,3])

>>type(a)

>><type ‘tuple’>

 

   元組型別除了不能修改元素之外,其他的操作與列表相似

3、ArrayMatrix

這兩個資料型別需要下載Numpy

from numpy import *

Array的定義:

>>b=np.array([[1,2],[3,4]])

>>b.shape

(2,2)

>>b.ndim

>>2

>>b[0]

array([1,2])

>>b[0][1]

>>2

Mat的定義

>>c =mat([1,2],[3,4])

matrix([[1,2],

[3,4]])

>>c.shape

(2,2)

矩陣的操作和二維陣列操作類似,不做過多的介紹,具體用時可以再查閱

4、資料型別的轉換

list型別轉array型別,再轉為Mat型別

>>a=[1,2,3,4]

>>b=array(a)

>>b

>>array([1,2,3,4])

>>b.shape()

(4,)

>>c=mat(b)

>>c

matrix([1,2,3,4])

>>c.shape

(1,4)

參考資料:

《Python基礎教程》 第2版 修訂版  司維、曾均崴、譚穎華 譯