Python學習(四)資料結構 —— dict

來源:互聯網
上載者:User

標籤:

詞典類型 dict

  字典由鍵(key)和對應值(value)成對組成。字典也被稱作關聯陣列或雜湊表。

  dict 賦值

  dict 整體放在花括弧{}中,每個鍵與值用冒號隔開(:),每對用逗號分割; d = {‘one‘:1, ‘two‘:2, ‘three‘:3} 

  鍵必須獨一無二,但值則不必;值可取任何資料類型,如字串,數或元組;若建立時同一個鍵被賦值兩次,後一個值會被記住;

  鍵必須不可變,所以可以用數,字串或元組充當,用列表就不行

  用 dict() 強制轉換,可接受以下形式,參見下例

1 a = dict(one=1, two=2, three=3)2 b = {‘one‘: 1, ‘two‘: 2, ‘three‘: 3}3 c = dict(zip([‘one‘, ‘two‘, ‘three‘], [1, 2, 3]))4 d = dict([(‘two‘, 2), (‘one‘, 1), (‘three‘, 3)])5 e = dict({‘three‘: 3, ‘one‘: 1, ‘two‘: 2})6 print(a == b == c == d == e)

 

   dict 操作

    詞典類型適用於對應鍵的取值,十分實用;對於dict的訪問、修改、增加、刪除等操作需要熟練掌握

    以下列出了常用的用法,詳細請參考:

    訪問值、修改值

      dict_name[‘key_name‘] 可直接存取值,可直接更改該值

1 d = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};2 print(d[‘Name‘],d[‘Age‘],d[‘Class‘])            # 訪問索引值訪問 dict_name[‘key_name‘]3 print("%s‘s age is %d, class is: %s." %(d[‘Name‘], d[‘Age‘],d[‘Class‘]))    # 字串輸出4 # print(d[‘name‘])                 # 無該索引值,會報錯,注意大小寫5 d[‘Age‘] = 86 print(d[‘Age‘])                    # 可直接修改鍵的數值,數實值型別不限

 

    鍵的增加、刪除

      判斷key是否存在於dict中,使用 key_name in/not in dict_name;

      增加索引值即對新的鍵賦值 dict_name[‘new key_name‘] = value ;刪除索引值使用 del dict_name[‘key_name‘];

      清空詞典使用 dict_name.clear()

 1 d = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘}; 2 print(d[‘Name‘],d[‘Age‘],d[‘Class‘])            # 訪問索引值訪問 dict[‘key_name‘] 3 print("%s‘s age is %d, class is: %s." %(d[‘Name‘], d[‘Age‘],d[‘Class‘]))    # 字串輸出 4 # print(d[‘name‘])                # 無該索引值,會報錯,注意大小寫 5 d[‘Age‘] = 8 6 print(d[‘Age‘])                   # 可直接修改鍵的數值,數實值型別不限 7 print(‘Name‘ in d)                # 判斷鍵是否存在 8 print(‘xxx‘ not in d)             # 判斷鍵是否不存在 9 d[‘Sex‘] = "Female"               # 增加索引值直接賦值即可10 print(d)11 del d[‘Class‘]                    # 刪除索引值12 print(d)13 # del d[‘Class‘]                  # 若無索引值,會報錯14 d.clear()                         # 清空dict15 print(d)

 

    dict view objects

      len(dict_name) 返回詞典索引值組合數,可單獨取出所有鍵 dict_name.keys() , 單獨取出所有的值 dict_name.values()

1 d = {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘Class‘: ‘First‘};2 print(len(d))                    # 索引值的組合數量3 print(d.keys(),type(d.keys()))   # 為dict_keys 類型,可list()轉換為list 或 set()轉換為set4 print(d.values())                # 為dict_values 類型5 print(d.items())                 # 為dict_items 類型

 

Python學習(四)資料結構 —— dict

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.