官术网_书友最值得收藏!

3.3 字典的基本操作

與列表和元組有所不同,字典是另一種可變容器模型,且可存儲任意類型的對象。本節將學習字典的基本操作。

3.3.1 字典對象的常用操作

字典的對象使用大括號{}將元素列出。字典的元素排列并沒有一定的順序,因為可以使用鍵值來取得該元素。

下面的示例將創建一個字典對象:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd

運行結果如圖3-39所示。

圖3-39 運行結果

1. 獲取字典中的元素值

通過使用鍵值作為索引,可以返回字典中的元素。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd["名稱"]
    >>>dd["產地"]
    >>>dd["價格"]

運行結果如圖3-40所示。

圖3-40 運行結果

在獲取字典中的元素值時,必須保證輸入的鍵值在字典中是存在的,否則Python會產生一個KeyError錯誤。

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd["姓名"]

運行結果如圖3-41所示。

圖3-41 運行結果

從報錯信息可以看出,這里不存在"姓名"的鍵值。

2. 修改字典中的元素值

字典中的元素值是可以修改的。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd["名稱"] = "洗衣機"
    >>>dd

運行結果如圖3-42所示。

3. 刪除字典中的元素

使用del語句可以刪除字典中的元素。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>del dd["名稱"]
    >>>dd

運行結果如圖3-43所示。

圖3-43 運行結果

4. 定義字典鍵值時需要注意的問題

字典鍵值是不能隨便定義的,需要注意以下兩點:

(1)不允許同一個鍵值多次出現。創建時如果同一個鍵值被賦值多次,那么只有最后一個值有效,前面重復的值將會被自動刪除。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500","產地":"上海", "價格":"8500"}
    >>>dd

運行結果如圖3-44所示。

圖3-44 運行結果

(2)因為字典鍵值必須不可變,所以可以用數字、字符串或元組充當,列表則不行。如果用列表做鍵值,將會報錯。例如:

    >>>dd = {["名稱"]:"冰箱", "產地":"北京", "價格":"6500"}

運行結果如圖3-45所示。

圖3-45 運行結果

3.3.2 字典的內置函數和方法

本節主要講述字典的內置函數和方法。

1. 字典的內置函數

字典的內置函數包括len()、str()和type()。

(1)len(dict):計算字典元素個數,即鍵值的總數。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>len(dd)

運行結果如圖3-46所示。

圖3-46 運行結果

(2)str(dict):將字典的元素轉化為可打印的字符串形式。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>str(dd)

運行結果如圖3-47所示。

圖3-47 運行結果

(3)type(variable):返回輸入的變量類型,如果變量是字典,就返回字典類型。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>type(dd)

運行結果如圖3-48所示。

圖3-48 運行結果

2. 字典的內置方法

字典對象有許多內置方法,在Python解釋器內輸入dir({}),就可以顯示這些內置方法的名稱,結果如圖3-49所示。

圖3-49 字典的內置方法

下面挑選常用的方法進行講解。

(1)clear():清除字典中的所有元素。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.clear()
    >>>dd

運行結果如圖3-50所示。

圖3-50 運行結果

(2)copy():復制字典。例如:

    >>>cc = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd = cc.copy()
    >>>dd

運行結果如圖3-51所示。

圖3-51 運行結果

(3)get(k [, d]):k是字典的索引值,d是索引值的默認值。如果k存在,就返回其值,否則返回d。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.get("名稱")
    >>>dd.get("品牌","不存在")

運行結果如圖3-52所示。

圖3-52 運行結果

(4)items():使用字典中的元素創建一個由元組對象組成的列表。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.items()

運行結果如圖3-53所示。

圖3-53 運行結果

(5)keys():使用字典中的鍵值創建一個列表對象。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.keys()

運行結果如圖3-54所示。

圖3-54 運行結果

(6)popitem():刪除字典中的最后一個元素。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.popitem()
    >>>dd
    >>>dd.popitem()
    >>>dd

運行結果如圖3-55所示。

圖3-55 運行結果

(7)setdefault(k [, d]):k是字典的鍵值,d是鍵值的默認值。如果k存在,就返回其值;否則返回d,并將新的元素添加到字典中。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.setdefault("名稱")
    >>>dd
    >>>dd.setdefault("品牌","海爾")
    >>>dd

運行結果如圖3-56所示。

圖3-56 運行結果

(8)update(E):E是字典對象,由字典對象E來更新此字典。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.update({"品牌":"海爾"})
    >>>dd

運行結果如圖3-57所示。

圖3-57 運行結果

(9)values():使用字典中鍵值的數值創建一個列表對象。例如:

    >>>dd = {"名稱":"冰箱", "產地":"北京", "價格":"6500"}
    >>>dd.values()

運行結果如圖3-58所示。

圖3-58 運行結果

主站蜘蛛池模板: 虞城县| 衢州市| 黄石市| 涟水县| 临邑县| 大关县| 襄汾县| 河曲县| 寻乌县| 桂林市| 禄劝| 故城县| 承德县| 三门县| 永丰县| 大邑县| 荔波县| 聂拉木县| 濮阳县| 宜章县| 厦门市| 马鞍山市| 泰兴市| 鹤岗市| 二连浩特市| 老河口市| 庆安县| 台州市| 马龙县| 罗定市| 鄂州市| 望奎县| 晴隆县| 彭山县| 开原市| 商南县| 抚远县| 襄城县| 南丹县| 天津市| 湛江市|