Python 程式設計

第 12 章    字典

(1) 字典

∗ 字串、串列、與字組都是循序資料集合 (Sequential collections)

▸ 資料按序排列,可利用索引 (Index) 來找到某個位置的資料

∗ 字典 (Dictionary):非循序資料集合

▸ 資料按對應 (Mapping) 方式排列,並利用鍵值 (Key) 找到某個對應的值

▸ 字典資料是可變異的 (Mutable)

(2) 字典操作

∗ 建立空字典:dict() 或 {}

▸ 例如:

inventory = dict()
inventory = {}

∗ 建立字典,例如水果庫存量:

inventory = {'apples':430, 'bananas':312, 'oranges':525}

▸ 每個字典項目為鍵與值的配對 (以冒號分隔):

'<key>':<value>

∗ 讀取項目,例如:

numApples = inventory['apples']        # 利用方括號語法
numApples = inventory.get('apples')    # 也可利用 .get() 方法
numLemons = inventory['lemons']        # 使用方括號時,若找不到鍵值程式會當掉,KeyErrors: 'lemons'
numLemons = inventory.get('lemons')    # 使用 .get() 方法時,若找不到鍵值程式不會當掉,會回覆 None

∗ 加入或修改項目,例如:

inventory['lemons'] = 100           # 利用方括號語法來修改值
inventory.update({'lemons':100})    # 也可利用 .update() 方法
inventory.update({'lemons':100, 'watermelons'50})    # 使用 .update() 方法時,可一次加入或修改多個項目 

∗ 刪除項目,例如:

del inventory['bananas']

∗ 字典項目數量 (長度)

numItems = len(inventory)

∗ 字典變異性

inventory = {'apples': 430, 'bananas': 312, 'oranges': 525}
alias = inventory
alias.update({'apples':200})
print(inventory)    # apples: 200

∗ 字典複製

inventory = {'apples': 430, 'bananas': 312, 'oranges': 525} 
alias = inventory.copy()
alias.update({'apples':200})
print(inventory)    # apples: 430
print(alias)        # apples: 200 

上一章       下一章