您好,登錄后才能下訂單哦!
本篇內容主要講解“Python中關于字典的知識有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中關于字典的知識有哪些”吧!
字典(dict)
dic是映射類型,由{}括起來的鍵值對組成,在dict中key是唯一的.在保存的時候,根據key來計算出唯一個內存地址. 然后將key-value保存在這個地址中.這種算法被稱為hash算法,所以,在dict中存儲的key-value中的key必須是可hash的,如果你搞不懂什什么是可哈希, 暫時可以這樣記, 可以改變的都是不可哈希的,可哈希就意味著不可變. 這個是為了能準確的計算內存地址而規定的。已知的可哈希(不可變)的數據類型: int, str, tuple, bool
不可哈希(可變)的數據類型: list, dict, set
語法:{key1: value1, key2: value2....}
dict保存的數據不是按照我們添加進去的順序保存的. 是按照hash表的順序保存的. 而hash表不是連續的. 所以不能進行切片工作. 它只能通過key來獲取dict中的數據,在3.6之前.打印一個字典的結果中鍵值對的順序都是錯亂的,3.6之后,鍵值對的順序與輸入的順序一致,但是保存的時候還是無序的
增加:
1.dict[一個字典中不存在的key0 = 值, 就會新增一個鍵值對
2.setdefalt():設置默認值,當沒有為一個key設置value時,key等于這個默認value,通過方法1設置之后,value就會是設定的那個value
刪除:
1.pop(key):類似于list的pop,不過list使用的是下標,而dict用的是key
2.del 關鍵字 用法同list
3.popitem():隨機刪除一個鍵值對
4.clear():清空,一個不剩
修改:
1.dict[一個已經存在的key] = value 會對已有的鍵值對重新賦值,覆蓋原有的的value
2.dict1.update(dict2):把dict2中的鍵值對更新到dict1中,key一樣的會覆蓋,沒有的鍵值對會新增
查詢:
1..dict[一個已經存在的key] 當key在dict中不存在的時候,會報錯
2.get(key,defalt=None):與方法1不同的是.key不存在的時候返回None,這個None可以通過參數defalt修改
其他相關操作:
例:dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科比"}
1.print(dic.keys) # dict_keys(['id', 'name', 'age', 'ok']) 它的形式類似于list,但是并不是list,print(type(dic.keys))的結果是 ,但是可以當做list來用,可以進行for循環.
for key in dic.keys:
print(key)
2.print(dic.values()) #同keys基本一樣,用法也相同
for value in dic.values:
print(value)
3.print(dic.items()) #dict_items([('id', 123), ('name', 'sylar'), ('age',18), ('ok', '科比')])
for key, value in dic.items:
print(key, value)
*一個特殊情況:直接遍歷dic,打印的也是key.
for i in dic:
print(i)
到此,相信大家對“Python中關于字典的知識有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。