您好,登錄后才能下訂單哦!
本文實例講述了Python基本數據結構之字典類型dict用法。分享給大家供大家參考,具體如下:
詞典類型 dict
字典由鍵(key)和對應值(value)成對組成。字典也被稱作關聯數組或哈希表。
dict 賦值
dict 整體放在花括號{}中,每個鍵與值用冒號隔開(:),每對用逗號分割; d = {'one':1, 'two':2, 'three':3}
鍵必須獨一無二,但值則不必;值可取任何數據類型,如字符串,數或元組;若創建時同一個鍵被賦值兩次,后一個值會被記住;
鍵必須不可變,所以可以用數,字符串或元組充當,用列表就不行
用 dict()
強制轉換,可接受以下形式,參見下例
a = dict(one=1, two=2, three=3) b = {'one': 1, 'two': 2, 'three': 3} c = dict(zip(['one', 'two', 'three'], [1, 2, 3])) d = dict([('two', 2), ('one', 1), ('three', 3)]) e = dict({'three': 3, 'one': 1, 'two': 2}) print(a == b == c == d == e)
dict 操作
詞典類型適用于對應鍵的取值,十分實用;對于dict的訪問、修改、增加、刪除等操作需要熟練掌握
以下列出了常用的用法,詳細請參考:
訪問值、修改值
dict_name['key_name']
可直接訪問值,可直接更改該值
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print(d['Name'],d['Age'],d['Class']) # 訪問鍵值訪問 dict_name['key_name'] print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class'])) # 字符串輸出 # print(d['name']) # 無該鍵值,會報錯,注意大小寫 d['Age'] = 8 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()
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print(d['Name'],d['Age'],d['Class']) # 訪問鍵值訪問 dict['key_name'] print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class'])) # 字符串輸出 # print(d['name']) # 無該鍵值,會報錯,注意大小寫 d['Age'] = 8 print(d['Age']) # 可直接修改鍵的數值,數值類型不限 print('Name' in d) # 判斷鍵是否存在 print('xxx' not in d) # 判斷鍵是否不存在 d['Sex'] = "Female" # 增加鍵值直接賦值即可 print(d) del d['Class'] # 刪除鍵值 print(d) # del d['Class'] # 若無鍵值,會報錯 d.clear() # 清空dict print(d)
dict view objects
len(dict_name)
返回詞典鍵值組合數,可單獨取出所有鍵 dict_name.keys()
, 單獨取出所有的值 dict_name.values()
d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print(len(d)) # 鍵值的組合數量 print(d.keys(),type(d.keys())) # 為dict_keys 類型,可list()轉換為list 或 set()轉換為set print(d.values()) # 為dict_values 類型 print(d.items()) # 為dict_items 類型
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python字典操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。