Python學習(11)字典

2022-05-18 04:18:26 字數 3420 閱讀 2844

字典是另一種可變容器模型,且可儲存任意型別物件。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

d =

鍵必須是唯一的,但值則不必。

值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

乙個簡單的字典例項:

dict =

也可如此建立字典:

dict1 =;dict2 =;

把相應的鍵放入熟悉的方括弧,如下例項:

1 dict = 23

print(

dict['name']:

", dict['

name'])

4print(

"dict['age']:

", dict['

age'])

以上例項輸出結果:

dict['name']:zaradict['age']:7

如果用字典裡沒有的鍵訪問資料,會輸出錯誤如下:

dict = 

print(

"dict['alice']:

", dict['

alice

'])

以上例項輸出結果:

dict['zara']:traceback(most recent call last):file"test.py",line 4,inprint"dict['alice']: ",dict['alice'];keyerror:'alice'

向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下例項:

dict = 

dict[

'age

'] = 8   #

update existing entry

dict['

school

'] = "

dps school

"  #

add new entry

print(dict['

age']: "

, dict['age'])

print("

dict['school']:

", dict['

school

'])

以上例項輸出結果:

dict['age']:8dict['school']:dps school

能刪單一的元素也能清空字典,清空只需一項操作。

顯示刪除乙個字典用del命令,如下例項:

dict = 

del dict['

name

']   #

刪除鍵是'name'的條目

dict.clear()    #

清空詞典所有條目

del dict    #

刪除詞典

print(

"dict['age']:

", dict['

age'

])print(

"dict['school']:

", dict['

school

'])

但這會引發乙個異常,因為用del後字典不再存在:

dict['age']:traceback(most recent call last):file"test.py",line 8,inprint"dict['age']: ",dict['age'];typeerror:'type'objectisunsubscriptable

注:del()方法後面也會討論。

字典值可以沒有限制地取任何python物件,既可以是標準的物件,也可以是使用者定義的,但鍵不行。

兩個重要的點需要記住:

1)不允許同乙個鍵出現兩次。建立時如果同乙個鍵被賦值兩次,後乙個值會被記住,如下例項:

dict = 

print(

"dict['name']:

", dict['

name

'])

以上例項輸出結果:

dict['name']:manni

2)鍵必須不可變,所以可以用數字,字串或元組充當,所以用列表就不行,如下例項:

dict = 

print(

"dict['name']:

", dict['

name

'])

以上例項輸出結果:

traceback(most recent call last):file"test.py",line 3,indict =;typeerror:list objects are unhashable

python字典包含了以下內建函式:

序號函式及描述

1cmp(dict1, dict2)

比較兩個字典元素。

2len(dict)

計算字典元素個數,即鍵的總數。

3str(dict)

輸出字典可列印的字串表示。

4type(variable)

返回輸入的變數型別,如果變數是字典就返回字典型別。

python字典包含了以下內建方法:

序號函式及描述

1radiansdict.clear()

刪除字典內所有元素

2radiansdict.copy()

返回乙個字典的淺複製

3radiansdict.fromkeys()

建立乙個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值

4radiansdict.get(key, default=none)

返回指定鍵的值,如果值不在字典中返回default值

5radiansdict.has_key(key)

如果鍵在字典dict裡返回true,否則返回false

6radiansdict.items()

以列表返回可遍歷的(鍵, 值) 元組陣列

7radiansdict.keys()

以列表返回乙個字典所有的鍵

8radiansdict.setdefault(key, default=none)

和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default

9radiansdict.update(dict2)

把字典dict2的鍵/值對更新到dict裡

10radiansdict.values()

以列表返回字典中的所有值

Python基礎(11) 字典

dictionary 字典 是 除列表以外 python 之中 最靈活 的資料型別 字典同樣可以用來 儲存多個資料 xiaoming print type xiaoming class dict 字典是可變資料型別 如果key存在修改value值,如果key不存在則新增鍵值對 字典 key valu...

python學習1 字典

1.基本概念 常見的建立詞典的方法 dic print type dic 詞典和列表類似的地方,是包含有多個元素,每個元素以逗號分隔。但詞典的元素包含有兩部分,鍵和值,常見的是以字串來表示鍵,也可以使用數字或者真值來表示鍵 不可變的物件可以作為鍵 值可以是任意物件。鍵和值兩者一一對應。實際上,列表的...

python學習(9) 字典

字典 1 字典的使用 1.1 字典的定義 在python中,字典是一系列鍵 值對。每個鍵與每乙個值都相關聯,可以使用鍵來訪問與之關聯的值 與鍵相關聯的值可以是數字 字串 列表及字典,和json的結構非常類似 鍵和值之間用冒號分隔,而鍵 值對之間用逗號分隔。字典中可以包含任意數量的鍵值對 user1 ...