Python辭典

辭典

藉由金鑰存取的資料結構
無序集合,以雜湊表實作

辭典字面值

    1. {}                                     # 空辭典
    2. {"one": 1, "two": 2}                   # 二個項目
    3. ("color": {"green": 1, "red": 2} }     # 巢狀辭典

內建運算

dic = {“one”: 1, “two”: 2, “three”: 3}

Query:

    1. dic["one"]                == 1      # 金鑰索引
    2. dic.get("two")            == 2      # 方法索引
    3. dic.get("not_exist", 100) == 100    # 不存在金鑰預設值
    4. dic.copy()                          # 複製辭典

Create

    1. dic["one"]  = "001"                   # 更新
    2. dic.update( {"four": 4, "five": 5} )  # 合併

Update

    1. dic["four"] = 4                       # 金鑰不存在,建立

Delete

    1. del dic["one"]           # 刪除金鑰
    2. value = dic.pop("two")   # 刪除金耀並傳回刪除值

變換

辭典是無序集合,雜湊化最佳存取速度
下列執行結果未必按照順序

1. dic.values() =~ [1,2,3]                                  # 取得所有值
2. dic.keys()   =~ ["one","two","three"]                    # 取得所有金鑰
3. dic.items()  =~ [ ("one",1), ("two",2), ("three": 3)]    # 取得所有項目

建構

    1. D1 = {1: "one", 2: "two"}                              # 字面值建構
    2. D2 = dict( [ ("one",1), ("two",2), ("three": 3)] )     # 串列建構
    3. D3 = dict( name="huang", age=40 )                      # 函式建構

成員測試

    1. dic.has_key("one")  # True
    2. "one" in dic        # True