python中的字典可以通過大括號{}建立,建立模式如下:
。我們之前講解集合型別時說過,集合也可以通過大括號和賦值語句的形式建立,因此字典也具有和集合類似的性質:鍵值對之間無序且不能重複,簡單來說可以把字典型別看成是元素是鍵值對的集合。
一般來說字典中的鍵值對訪問模式如下:採用中括號進行訪問
《值》=《字典變數》[《鍵》]
如果想要改變鍵所對應的值則也要使用中括號進行訪問
#建立字典dic
dic=
#訪問dic中鍵為10002字串所對應的值,用括起來
print
("學號為10002的學生為:{}"
.format
(dic[
"10002"])
)#更改字典中鍵為10002對應的值為小張
dic[
"10002"]=
'小張'
print
("學號為10002的學生為:{}"
.format
(dic[
"10002"])
)
結果為:
字典中的鍵和值可以是任意資料型別,包括程式自定義的型別。
使用大括號可以建立字典並指定初始值,如果直接使用大括號{}會預設生成乙個空字典,這裡要和集合加以區分,生成空集合要是有set()函式。
接下來我們來說一下字典型別的函式和方法:
❶d.keys():返回字典中所有的鍵資訊
❷d.values():返回字典中的所有值資訊
❸d.items():返回所有的鍵值對資訊
❹d.get(key,default):若鍵存在則返回相應值,否則返回預設值
❺d.pop(key,default):若值存在則返回相應值,同時刪除鍵值對,否則返回預設值
❻d.popitem():隨機從字典取出乙個鍵值對,以元組形式(key,value)返回
❼d.clear():刪除所有的鍵值對
❽del d[key]:刪除字典中某乙個鍵值對
❾key in d:如果鍵在字典中返回true,否則返回false
上述方法如果希望keys(),values(),items()方法返回列表型別,可以採用list()函式將返回值轉換成列表。
#建立空字典:
dic=
print
("dic的型別是:{},其內容為:"
.format
(type
(dic)
,dic))d=
print
("鍵資訊為:{}"
.format
(d.keys())
)print
("值資訊為:{}"
.format
(d.values())
)print
("d中的所有鍵值對為:{}"
.format
(d.items())
)#由於1001為d中的乙個鍵,返回相應值
print
("1001是d中的乙個鍵嗎?是的話返回對應值:{}"
.format
(d.get(
"1001"
,"無"))
)#由於1004不是d中的乙個鍵,返回設定值"不是"
print
("1004是d中的乙個鍵嗎?是的話返回對應值:{}"
.format
(d.get(
"1004"
,"無"))
)print
("1002是d中的乙個鍵嗎?是的話返回對應值並刪除它:{}"
.format
(d.pop(
"1002"
,"不是"))
)print
("刪除後的d為:{}"
.format
(d.items())
)print
("從d中隨機取出乙個鍵值對:{}"
.format
(d.popitem())
)
結果為:
與其他組合型別一樣,字典可以通過for—in語句對其元素進行遍歷迴圈:
for 變數名 in 字典名:
語句塊(由於縮排語句塊前面應該有4個空格的,不知道為啥我打出來以後就不顯示了,大家知道就行了(●°u°●) 」,縮排是強制的語法要求)
d=
for key in d:
print
("鍵是:{},對應值為:{}"
.format
(key,d.get(key)
))
結果為:
對於字典型別大家要好好掌握字典型別的方法,字典型別在一些爬取資料的**中很常用的喲⑅❛ ᵕ ❛⑅
Python對映型別 字典
雜湊對映或者相連陣列 keys和values方法分別用於獲取鍵和值的列表。雖然鍵值對沒有特定的順序,但這兩個函式會以相同的順序輸出鍵和值。for key,value in zip key list,value list dict型別函式直接處理二元元組列表 字典推導式 if key in some ...
Hprose for PHP型別對映
b size xx large 基本型別 size b b size x large 值型別 size b table 型別 描述 整型 hprose中的整型為32位有符號整型數,表示範圍是 2147483648 2147483647 231 231 1 長整型 hprose中的長整型為有符號無限長...
ElasticSearch 型別對映
當檢視索引裡的資料,我們意識到一些奇怪的東西。有些事情看起來有問題,我們在索引裡有12個tweets,只有1個包含date 2014 09 15 現在讓我們看看這些查詢。get search?q 2014 12 results get search?q 2014 09 15 12 results g...