1. 程式人生 > >Python中的資料結構

Python中的資料結構

python中的資料結構名為容器,主要的容器分為三種:序列、對映與集合。

1.序列:

包括6種內建的序列:列表、元組、字串、Unicode字串、Buffer物件、xrange物件。

列表和元組是最常用的序列。它們類似於C/C++中的陣列,列表與元組的唯一區別在於列表中的資料值是可以修改的,但是元組不可以。一般情況下,列表可以代替元組,但當元素的值因為某種原因需要設定為不可變時可用元組(如使用元組作為字典的鍵)

序列中的資料可以為任意型別,甚至可以為序列

如:

list = [1,2,3,4]
print(list[0])
print(list[-3])
Jim = ['Jim',13]
Jack = ['Jack', 14]
database = [Jim,Jack]
print(database)

執行結果為


通用的序列操作包括:索引、分片、加、乘以及成員資格(檢查某值是否屬於該序列的成員)、計算序列長度、找出最大或最小元素、迭代(即依次對序列中的每個元素重複執行某些操作)

有意思的是,Python中序列元素的下標(即索引)與C/C++中不太一樣,第一個索引為0,第二個為1,以此類推。但是也可以從後往前,最後一個為-1,倒數第二個為-2,以此類推。

對於序列的字面量可以直接使用索引,而不需要變數引用。如print('hello'[1]) 輸出的為e

2.對映:

字典是Python中唯一內建的對映型別,是一種通過名字引用值得資料結構

常見操作包括:計算長度,成員資格,刪除,通過鍵返回對應值 刪除

如:

telbook = {"Tom":"012","Jim":"005","Peter":"070"}
print(len(telbook))
print(telbook["Tom"])
telbook["Tom"] = "014"
print(telbook["Tom"])
del telbook["Tom"]
print(telbook)
if "Peter" in telbook: print("found it")
輸出: