上篇:
python的字典資料型別是基於hash雜湊演算法實現的,採用鍵值對(key:value)的形式,根據key的值計算value的位址,具有非常快的查取和插入速度。但它是無序的,包含的元素個數不限,值的型別也可以是其它任何資料型別!
字典的key必須是不可變的物件,例如整數、字串、bytes和元組,但使用最多的還是字串。 列表、字典、集合等就不可以作為key。同時,同乙個字典內的key必須是唯一的,但值則不必。
字典可精確描述為不定長、可變、無序、雜湊的集合型別
字典的每個鍵值對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,例如:
d =
dict()函式是python內建的建立字典的方法。
test = {} # 建立空字典
test =
dict([('name', 'juran'), ('age', 18), ('addr', 'cs')])
dict(a=1, b=2, jack=4098)
字典是集合型別,不是序列型別,因此沒有索引下標的概念,更沒有切片的說法。但是,與list類似,字典採用把相應的鍵放入方括號內獲取對應值的方式取值。
dic =
print ("dic['name']: ", dic['name'])
print ("dic['age']: ", dic['age'])
如果訪問字典裡沒有的鍵,會丟擲異常:
dic['address']
traceback (most recent call last):
file "", line 1, in dic["address"]
keyerror: 'address'
增加就是往字典插入新的鍵值對,修改就是給原有的鍵賦予新的值。由於乙個key只能對應乙個值,所以,多次對乙個key賦值,後面的值會把前面的值沖掉。
dic =
dic["address"] = "beijing"
dic["address"] = "shanghai"
dic["age"] = 20
dic-------------------------------------
要統計字典內鍵的個數,可以使用python內建的len()函式:
len(dic)
3
使用del關鍵字刪除字典元素或者字典本身,使用字典的clear()方法清空字典
dic
del dic['name'] # 刪除指定的鍵
dic-------------------------------------
a = dic.pop('age') # 彈出並返回指定的鍵。必須提供引數!
20dic.clear() # 清空字典
del dic # 刪除字典本身
get(key) 返回指定鍵的值,如果值不在字典中,則返回default值
items() 以列表返回可遍歷的(鍵, 值) 元組對
keys() 以列表返回字典所有的鍵
values() 以列表返回字典所有的值
接下來我們看看例子:
dic =
dic.get("***") # 訪問不存在的key,沒有報錯
dic['***'] # 訪問不存在的key,報錯。
traceback (most recent call last):
file "", line 1, in dic["***"]
keyerror: '***'
-------------------------------------
dic.items()
dict_items([('name', 'json'), ('age', 20), ('address', 'shanghai')])
-------------------------------------
dic.values()
dict_values(['json', 20, 'shanghai'])
-------------------------------------
dic.keys()
dict_keys(['name', 'age', 'address'])
-------------------------------------
dic.pop('name')
json
從python3.6開始遍歷字典獲得的鍵值對是有序的python2中的字典迴圈
python3中的字典迴圈
1 直接遍歷字典獲取鍵,根據鍵取值
for key in dic:
print(key, dic[key])
2 利用items方法獲取鍵值,速度很慢,少用!
for key,value in dic.items():
print(key,value)
3 利用keys方法獲取鍵
for key in dic.keys():
print(key, dic[key])
4 利用values方法獲取值,但無法獲取對應的鍵。
for value in dic.values():
print(value)
python學習筆記 字典
方法一 dict1 dict2 dict1,dict2 方法二 從python 2.2 版本起,可以使用乙個工廠方法,傳入乙個元素是列表的元組作為引數 fdict dict x 1 y 2 fdict 方法三 從python 2.3 版本起,可以用乙個很方便的內建方法fromkeys 來建立乙個 預...
Python學習筆記 字典
1 字典的定義 dictionary 字典 是除列表以外python之中最靈活的資料型別 字典同樣可以用來儲存多個資料 通常用於儲存描述乙個物體的相關資訊 和列表的區別 列表是有序的物件集合 索引,即從0開始,依次遞增 字典是無序的物件集合 字典的定義用 字典使用 鍵值對 儲存資料,鍵值對之間使用逗...
python學習筆記 字典
python學習筆記 字典 方法一 dict1 dict2 dict1,dict2 方法二 從python 2.2 版本起,可以使用乙個工廠方法,傳入乙個元素是列表的元組作為引數 fdict dict x 1 y 2 fdict 方法三 從python 2.3 版本起,可以用乙個很方便的內建方法fr...