簡介
資料結構基本上就是——它們是可以處理一些 資料 的 結構 。或者說,它們是用來儲存一組相關資料的。
在Python中有三種內建的資料結構——列表、元組和字典。我們將會學習如何使用它們,以及它們如何使編程變得簡單。
列表
list是處理一組有序項目的資料結構,即你可以在一個列表中儲存一個 序列 的項目。假想你有一個購物列表,上面記載著你要買的東西,你就容易理解列表了。只不過在你的購物表上,可能每樣東西都獨自佔有一行,而在Python中,你在每個項目之間用逗號分割。
列表中的項目應該包括在方括弧中,這樣Python就知道你是在指明一個列表。一旦你建立了一個列表,你可以添加、刪除或是搜尋列表中的項目。由於你可以增加或刪除項目,我們說列表是 可變的 資料類型,即這種類型是可以被改變的。
對象與類的快速入門
儘管我一直延遲討論對象和類,但是現在對它們做一點解釋可以使你更好的理解列表。我們會在相應的章節詳細探索這個主題。
列表是使用對象和類的一個例子。當你使用變數i並給它賦值的時候,比如賦整數5,你可以認為你建立了一個類(類型)int的對象(執行個體)i。事實上,你可以看一下help(int)以更好地理解這一點。
類也有方法,即僅僅為類而定義地函數。僅僅在你有一個該類的對象的時候,你才可以使用這些功能。例如,Python為list類提供了append方法,這個方法讓你在列表尾添加一個項目。例如mylist.append('an item')列表mylist中增加那個字串。注意,使用點號來使用對象的方法。
一個類也有域,它是僅僅為類而定義的變數。僅僅在你有一個該類的對象的時候,你才可以使用這些變數/名稱。類也通過點號使用,例如mylist.field。
使用列表
例9.1 使用列表
#!/usr/bin/python
# Filename: using_list.py
# This is my shopping list
shoplist = ['apple', 'mango', 'carrot', 'banana']
print 'I have', len(shoplist),'items to purchase.'
print 'These items are:', # Notice the comma at end of the line
for item in shoplist:
print item,
print '\nI also have to buy rice.'
shoplist.append('rice')
print 'My shopping list is now', shoplist
print 'I will sort my list now'
shoplist.sort()
print 'Sorted shopping list is', shoplist
print 'The first item I will buy is', shoplist[0]
olditem = shoplist[0]
del shoplist[0]
print 'I bought the', olditem
print 'My shopping list is now', shoplist
(源檔案:code/using_list.py)
輸出
$ python using_list.py
I have 4 items to purchase.
These items are: apple mango carrot banana
I also have to buy rice.
My shopping list is now ['apple', 'mango', 'carrot', 'banana', 'rice']
I will sort my list now
Sorted shopping list is ['apple', 'banana', 'carrot', 'mango', 'rice']
The first item I will buy is apple
I bought the apple
My shopping list is now ['banana', 'carrot', 'mango', 'rice']