python學習筆記(四)字典

2021-10-03 04:39:14 字數 4075 閱讀 9979

個人筆記,僅供參考

字典通過鍵值對來儲存資料,經常用來儲存有關聯的幾組資料。在需要處理較多資料時用的很頻繁

字典通過以下方式建立

phonebook =

整個字典有大括號括起,一對鍵值對使用冒號連線,各個鍵值對之間用逗號分隔。

可使用dict從其他對映(如其他字典)或鍵值對序列建立字典

>>

> items =[(

'name'

,'gumby'),

('age',42

)]>>

> d =

dict

(items)

>>

> d

不給引數會返回乙個空字典

字典的基本行為有很多都類似於序列

len(d)返回字典d包含的項數

d[k]

返回d[k] = v

將值v關聯到鍵k

del d[k]

刪除鍵為k的項

k in d

檢查字典d是否包含鍵為k的項

但也有一些不同之處

鍵的型別:字典中的鍵可以是任何不可變的型別,如:整數,浮點數,字串,元組

自動新增:即便是字典中原本沒有的鍵,也可以給它賦值,這將在字典中建立乙個新項

成員資格:表示式k in d(d為字典)查詢的是鍵而不是值,而表示式v in l(l為列表)查詢的是值而不是索引

使用format_map來從字典中提取資訊

>>

> phonebook =

>>

>

"cecil's phone number is ."

.format_map(phonebook)

"cecil's phone number is 3258."

2.4.1、clear

方法clear刪除所有的字典項,就地執行,無返回值

>>

> d =

>>

> d[

'name']=

'gumby'

>>

> d[

'age']=

42>>

> d

>>

> returned_value = d.clear(

)>>

> d

>>

>

print

(returned_value)

none

2.4.2、copy

方法copy返回乙個新字典,其包含的鍵值對與原來字典相同(但執行的是淺複製,值本身是原件,所以修改返回的字典時原字典會被修改)

為處理這個情況,可執行深複製,即使用copy模組中的函式deepcopy

>>

>

from copy import deepcopy

>>

> d =

>>

> d[

'names']=

['alfres'

,'bertand'

]>>

> c = d.copy(

)>>

> dc = deepcopy(d)

>>

> d[

'names'

]'clive'

)>>

> c

>>

> dc

2.4.3、fromkeys

方法fromkeys建立乙個新字典,其中包含指定的鍵,且每個鍵對應的值都是none

>>

>

dict

.fromkeys(

['name'

,'age'],

'(unknown)'

)

2.4.4、get

通常訪問字典中沒有的項會引發錯誤,而用get則不會

>>

> d =

>>

>

print

(d['name'])

traceback (most recent call last)

: file ""

, line 1,in

keyerror:

'name'

>>

>

print

(d.get(

'name'))

none

2.4.5、items

方法items返回乙個包含所有字典項的列表,其中每個元素都是(key,value)的形式。字典項在列表中的排列順序不確定。返回值屬於一種名叫字典檢視的特殊型別,可用於迭代

>>

> d =

>>

> d.items(

)dict_items([(

'title'

,'python web site'),

('url'

,'www.123456.com'),

('span',0

)])

2.4.6、keys

方法 key返回乙個字典檢視,其中包含字典中的鍵

2.4.7、pop

方法pop可用於指定鍵相關的值,並將該鍵值對從字典中刪除。

>>

> d =

>>

> d.pop(

'x')

1>>

> d

2.4.8、popitem

類似於list.pop但list.pop彈出列表中的最後乙個元素,而popitem隨機地彈出乙個字典項,因為字典項的順序是不確定的,沒有「最後乙個元素」。如果要逐個刪除字典項,這個可能有用。

>>

> d =

>>

> d.popitem()(

'title'

,'python'

)>>

> d

2.4.9、satdefault

這個有點像get,因為它也可以獲取與指定鍵相關聯的值,但除此之外,satdefault還在字典不包含指定的鍵時,在字典中新增指定的的鍵值對。

>>

> d =

>>

> d.setdefault(

'name'

,'n/a'

)'n/a'

>>

> d

>>

> d =

>>

>

print

(d.setdefault(

'name'))

none

>>

> d

2.4.10、update

方法update使用乙個字典中的項來更新另乙個字典。

>>

> d =

>>

> x =

>>

> d.update(x)

>>

> d

對於通過引數提供的字典,將其項新增到當前字典中,如果當前字典包含鍵相同的項,就替換掉它

2.4.11、values

返回乙個由字典中的值組成的字典檢視。不同於方法keys,這個可以出現重複的值。

>>

> d =

>>

> d[1]

=1>>

> d[2]

=2>>

> d[3]

=3>>

> d[4]

=1>>

> d.values(

)dict_values([1

,2,3

,1])

本章主要介紹字典,和列表,元組一樣,也是python中重要的序列。

Python學習四 字典

在python中,字典是一系列鍵 值對。每個鍵都與乙個值相關聯,你可以使用鍵來訪問與之相關的值。事實上,可將任何python物件用作字典中的值,例如數字 字串 列表 甚至是字典。例項 alien print alien age 輸出17 user 0 for key,value in user 0....

筆記四 字典 鍵值對 集合 if函式

建立 a dict name 內容 其他 利用元組 a name 內容 內容 zip函式 a b dict zip a,b 若想訪問 a 鍵 a.get 鍵 不存在 表示如果鍵不存在,返回值為不存在 獲得所有鍵值對 a.items 獲得所有鍵 a.keys 獲得所有值 a.values a key ...

Python 學習筆記(612) 字典

在python中,字典資料型別的應用非常廣泛。基本知識 定義 字典是可變的無序集合,以鍵值對為基本元素可以儲存各種資料型別。格式 d1 len d1 2鍵 值設定約束 1.鍵的唯一性 a print a 2.鍵的不可變性 字典的基本方法 b a.copy 複製乙個字典生成乙個新的的字典 print ...