python學習筆記 字典

2021-09-19 06:25:32 字數 3077 閱讀 2275

上篇:

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...