《轉》python學習(9)字典

2022-09-16 06:15:14 字數 2426 閱讀 7375

**

一、對映型別

我理解中的對映型別是:鍵值對的關係,鍵(key)對映值(value),且它們是一對多的關係。

字典是python唯一的對映型別。

擴充套件1:雜湊表

一種資料結構,值是根據相關的鍵進行資料儲存的,形成"鍵-值對"(key-value pairs),雜湊表中的值是沒有順序的。

擴充套件2:對映型別與序列型別的區別

1):訪問方式不同,序列型別用數字型別的鍵,而對映型別可以用其他物件型別做鍵(一般式字串)

>>> lis = ['a','b','c']

>>> lis[2]

'c'>>> dic =

>>> dic['mother']

'c'

2):儲存型別不同,對映型別的鍵,直接或間接地與值相關。

3):序列型別,有序之列;對映型別則無序之列

二、字典

1、工廠方法dict():

>>> tu=(['a','b'],['xx','yy'])

>>>tu

(['a', 'b'], ['xx', 'yy'])

>>> fdict =dict(tu)

>>>fdict

2、訪問形式:

>>>dic

>>> for obj indic:

printobj

father

name

mother

>>> for obj indic.keys():

printobj

father

name

mother

>>> for obj indic.values():

printobj

bac>>> for obj indic.items():

printobj

('father', 'b')

('name', 'a')

('mother', 'c')

>>>

3、has_key()、in、not in來檢查是否有某個鍵,has_key()已慢慢棄用了。

4、有則更新,無則添

5、刪除

del dic['name']   #刪除元素

del dic #刪除整個

6、操作符

、和 in、not in

>>> if 'name' indic:

print dic['name']

a

7、相關函式

dict():建立字典

len():返回鍵值對數目

hash(obj):返回obj的雜湊值

8、內建方法

dict.clear():刪除字典中所有元素

dict.copy():淺copy

dict.formkeys():建立字典

dict.get(key,default=none):返回對應鍵值

dict.has_key():鍵是否存在

dict.items():返回字典中鍵值對元祖的列表

dict.keys():鍵的列表dict.values():值的列表

......

>>>dic.keys()

['father', 'name', 'mother']

>>>dic.values()

['b', 'a', 'c']

>>> dic.get('name')

'a'

三、注意

1、不允許乙個鍵對應多個值,乙個鍵只能對應一項

2、當鍵發生衝突時,取最後乙個。

3、python不會檢查鍵的衝突,也不會因為鍵的衝突而產生錯誤,如果檢查每個鍵是否衝突勢必會占用很多記憶體。

>>> dic=

>>>dic

4、鍵必須是可雜湊的。

所有不可變型別都是可雜湊的,不可變型別如(列表、字典)則不能。

不可變型別:string,integer,tuple、

可變型別:list,dict

5、值相同的數字表示相同的鍵,如1和1.0的雜湊值是相同的,因此它們是相同的鍵。

>>> dic=

>>>dic

python學習(9) 字典

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

Python基礎 9 字典

字典是乙個無序的資料集合 字典用 定義,使用鍵值對儲存資料,鍵值對之間用 分隔 鍵key是索引,值value是資料,鍵和值之間用 分隔,鍵必須是唯一的,只能使用字串 數字或元組,值可以取任何資料型別 xiaoming 取值 print xiaoming name 增加或修改,如果key不存在會新增鍵...

Python基礎9 字典

coding utf8 字典由鍵和對應的值組成 鍵值對 雜湊表,字典元素也可以為空 dict1 dict2 鍵與值間需用冒號隔開,每一對鍵之間需要逗號作為分隔符,鍵與值的關係為一對多的 print dict1 字典是沒有順序的,列印時會隨機排序,若需訪問字典元素則需通過鍵來進行訪問 print di...