Thursday 24th of May 2012
廣告
| 字典(Dictionary) |
|
|
|
| 作者是 Victor | |||||||||||||||||||||||||||||||||||||||||||||||
| 週三, 11 二月 2009 21:09 | |||||||||||||||||||||||||||||||||||||||||||||||
|
什麼是字典(Dictionary) 在Python中,什麼是字典? 它是Python的映射物件,而什麼是映射(Mapping)呢? 簡單的來說,就是鍵(Key)與值(Value)的關係,想像一下你身為班長,你手中有張點名表,我們就可以把它想做是映射,以人名當鍵,學號當值,我們可以有下列的關係 張三 -> D9512345 李四 -> D9556678 王五 -> D9677880 所以當我查詢王五,我得到的是D9512345的值,這樣的概念就是映射,而Python的字典就是實作這樣概念的容器,以下我們介紹此物件的用法
d = {鍵: 值, 鍵: 值, ....}
由鍵值物件來對應到資料物件,既然是物件,只要是物件,符合一定條件就能夠當做"鍵值物件",只有"不可改變"物件可以當鍵值,例如字 串、整數等等因為是"不可改變",所以可以當鍵值,而不可當鍵值的,有串列、字典等等,因為這些是"可改變"的物件。
而如上面所說的,字典可以改變,也就是說創造Dictionary之後還可以改變物件的資料,以下是新增鍵值和資料的方式: d[鍵] = 值
取得資料的方式也是一樣 d[鍵]
現在就讓我們來示範如何使用字典。
# 建立一個Dictionary
friendMap = {'John': 'My classmate', 'Tom': 'Who he is?', '1900': 'A great pianist'}
# 印出John對應的資料
print friendMap['John']
# 改變Tom對應的值
friendMap['Tom'] = "John's brother"
# 印出Tom對應的資料
print friendMap['Tom']
# 新增Victor對應到資料
friendMap['Victor'] = "Owner of this site"
# 印出friendMap
print friendMap
映射物件的操作在介紹操作之前,有一點值得注意的是,字典不是有序的序列,你新增任一個鍵值對應到資料,不一定會出哪一個特定的位置,因此不是有序的,相同地,只要符合"映射" (Mapping)的物件,都可以用同樣的方法操作,只要該物件有實作這些功能,現在就讓我們來介紹"映射物件"的操作。
以下讓我們示範如何操作Dictionary:
# 建立Dictionary
a = {'a': 123, 'b': 456}
# 回傳a是否有'b'此鍵值
print 'b' in a
# 設定'abc'鍵值的對應值為7788
a['abc'] = 7788
# 印出鍵值List
print a.keys()
# 印出對應值List
print a.values()
# 印出(鍵值, 對應值)的List
print a.items()
# 取得鍵值'x'的對應值,如果不存在回傳
# 'Nothing, but ghost and shallow'
print a.get('x', 'Nothing, but ghost and shallow')
# 如果'x'鍵值存在,則回傳對應值
# 否則設定'x'對應'Nothing, but ghost and shallow'
# 並且回傳對應值
print a.setdefault('x', 'Nothing, but ghost and shallow')
# 印出a
print a
# 鍵立一個新的Dictionary
b = {'abc': 'Suck', 'hello': 'world'}
# 以b來更新a
# 舊的abc會被覆蓋
# 並且建立'hello'對應'world'
a.update(b)
# 印出a
print a
|
|||||||||||||||||||||||||||||||||||||||||||||||
| 最近更新在 週三, 11 二月 2009 21:46 |
核心是 Joomla!. Designed by: Free Joomla Theme, whois protect. Valid XHTML and CSS.


