老生常談python字典用法
創(chuàng)建字典
python 創(chuàng)建字典可以使用 dict 函數(shù),或者使用花括號,用花括號的方式更為常見。
d = {
"a": "Athens",
"b": "Belgrade",
"c": "Cairo"
}
或者:
d = dict(a="Athens", b="Belgrade", c="Cairo")
遍歷
python 可以方便地遍歷字典的 keys, values ,或者在遍歷的時候獲得 key 和 value。下面的代碼演示了遍歷的方式:
for item in d.items():
print(item)
這種方式,每一個 item 是一個 tuple,包括 key 和 value。
('a', 'Athens')
('b', 'Belgrade')
('c', 'Cairo')
也可以在遍歷的時候通過兩個變量得到 key 和 value:
for k, v in d.items():
print(k, v)
如果只關心 keys:
for k in d.keys():
print(k)
如果只關心 values:
for v in d.values():
print(v)
訪問
使用 d[k] 的語法獲得 key 為 k 的值,如果 key 不存在,拋出 KeyError。比如剛才的字典中 print(d["a"]) 得到 Athens,但如果是 d[“d”],因為并不存在 key 為 d 的項,所以拋出 KeyError:
d = dict(a="Athens", b="Belgrade", c="Cairo") print(d["d"])
運行代碼,拋出異常如下:
Traceback (most recent call last):
File "d:/temporary/python dict demo/test.py", line 4, in <module>
print(d["d"])
KeyError: 'd'
如果想避免拋出異常,有兩個方法:方法一是使用 get() 方法,沒有對應的 Key 返回 None:
d = dict(a="Athens", b="Belgrade", c="Cairo")
print(d.get("d"))
方法二是在使用前先通過 in 進行判斷:
d = dict(a="Athens", b="Belgrade", c="Cairo")
if "a" in d:
print(d["a"])
修改
最簡單的方法,通過 d[key] = value 方法修改,如果 key 不存在,則新建一個字典項:
d["a"] = "Atlanta"
update() 方法可使用一個字典來更新已有的字典,如果被更新的字典中己包含對應的 key,那么原 value 會被覆蓋;如果被更新的字典中不包含對應的 key,則該 key-value 對被添加進去。例如如下代碼:
d = dict(a="Athens", b="Belgrade", c="Cairo")
d.update({
"a": "Atlanta",
"b": "Belgrade",
"d": "Dehli"
})
print(d)
運行代碼,a 被替換,b 保持不變,c 被保留,d 被增加:
{'a': 'Atlanta', 'b': 'Belgrade', 'c': 'Cairo', 'd': 'Dehli'}
刪除
- clear() 方法刪除所有字典項
- del 刪除字典項,如果 key 不存在,拋出 KeyError
- pop() 刪除對應鍵值,如果 key 不存在,也拋出 KeyError,可以對不存在鍵的情況設置默認值
示例:
del d["a"]
print(d.pop("d", "none")) # 返回 none而不是KeyError
setdefault() 方法
setdefault() 方法在 key 已經存在的時候返回對應的值,如果 key 不存在,則根據(jù)第二個參數(shù) (default)增加 key-value pair,比如:
d.setdefault("a", "Atlanta") # 因為a已經存在,返回Athens
d.setdefault("d", "Dehli") # 因為d不存在,將d設為Dehli
- dict 用法和知識點總結 3.7 版本后,dict 能保存 key 的位置,3.7之前 key 是無序的,關心 key 的位置可以使用 SortedDict 數(shù)據(jù)結構
- pop() / get() / setdefault() 三個方法可以設置 default 值,避免 KeyError
- 字典的 key 不可重復
到此這篇關于老生常談python字典用法的文章就介紹到這了,更多相關python字典用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python geopandas讀取、創(chuàng)建shapefile文件的方法
shapefile是GIS中非常重要的一種數(shù)據(jù)類型,在ArcGIS中被稱為要素類(Feature Class),主要包括點(point)、線(polyline)和多邊形(polygon),本文重點給大家介紹python geopandas讀取、創(chuàng)建shapefile文件的方法,需要的朋友參考下吧2021-06-06
python安裝virtualenv虛擬環(huán)境步驟圖文詳解
這篇文章主要介紹了python安裝virtualenv虛擬環(huán)境步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09

