個人筆記,僅供參考
字典通過鍵值對來儲存資料,經常用來儲存有關聯的幾組資料。在需要處理較多資料時用的很頻繁
字典通過以下方式建立
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 ...