Python 字典
字典是另一種可變?nèi)萜髂P驼吐铱纱鎯?chǔ)任意類型對(duì)象裕便。
字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割贝室,每個(gè)對(duì)之間用逗號(hào)(,)分割半沽,整個(gè)字典包括在花括號(hào)({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
鍵必須是唯一的嗅蔬,但值則不必脂矫。
值可以取任何數(shù)據(jù)類型吏垮,但鍵必須是不可變的捐腿,如字符串课锌,數(shù)字或元組厨内。
一個(gè)簡(jiǎn)單的字典實(shí)例:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
訪問(wèn)字典里的值
把相應(yīng)的鍵放入到方括號(hào)中,如下實(shí)例:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
print("dict['name']:",dict["name"])
print("dict['age']:",dict["age"])
以上實(shí)例輸出結(jié)果:
dict['name']: 馬大哈
dict['age']: 20
如果用字典里沒(méi)有的鍵訪問(wèn)數(shù)據(jù)渺贤,會(huì)輸出錯(cuò)誤如下:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
print("dict['name']:",dict["test"])
以上實(shí)例輸出結(jié)果:
Traceback (most recent call last):
File "JianShu.py", line 2, in <module>
print("dict['name']:",dict["test"])
KeyError: 'test'
修改字典
向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì)雏胃,修改或刪除已有鍵/值對(duì)如下實(shí)例:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
dict["name"] = "張三";#更新name
dict["age"] = 18;#更新age
print("dict['name']:",dict["name"])
print("dict['age']:",dict["age"])
以上實(shí)例輸出結(jié)果:
dict['name']: 張三
dict['age']: 18
刪除字典
- 刪除鍵實(shí)例:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
del dict["name"]#刪除鍵 "name"
print(dict)
以上實(shí)例輸出結(jié)果:
{'age': 20, 'gender': 'male', 'job': '學(xué)生'}
- 清空字典實(shí)例:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
dict.clear()
print(dict)
以上實(shí)例輸出結(jié)果:
{}
- 刪除字典實(shí)例:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
del dict
字典內(nèi)置函數(shù)&方法
Python字典包含了以下內(nèi)置函數(shù):
序號(hào) | 函數(shù)及描述 |
---|---|
1 | len(dict) 計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)癣亚。 |
2 | str(dict) 輸出字典丑掺,以可打印的字符串表示。 |
3 | type(variable) 返回輸入的變量類型述雾,如果變量是字典就返回字典類型街州。 |
實(shí)例
字典.keys() 來(lái)獲取字典中的所有的鍵:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
for key in dict.keys():
print(key)
以上實(shí)例輸出結(jié)果:
name
age
gender
job
字典.values()來(lái)獲取字典中所有的值:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
for value in dict.values():
print(value)
以上實(shí)例輸出結(jié)果:
馬大哈
20
male
學(xué)生
字典.items()來(lái)獲取 字典中的每個(gè)鍵值對(duì),以元組返回:
dict = {"name":"馬大哈","age":20,"gender":"male","job":"學(xué)生"}
for item in dict.items():
print(item)
以上實(shí)例輸出結(jié)果:
('name', '馬大哈')
('age', 20)
('gender', 'male')
('job', '學(xué)生')
字典是支持無(wú)限極嵌套的,如下面代碼:
cities={
'北京':{
'朝陽(yáng)':['國(guó)貿(mào)','CBD','天階','我愛(ài)我家','鏈接地產(chǎn)'],
'海淀':['圓明園','蘇州街','中關(guān)村','北京大學(xué)'],
'昌平':['沙河','南口','小湯山',],
'懷柔':['桃花','梅花','大山'],
'密云':['密云A','密云B','密云C']
},
'河北':{
'石家莊':['石家莊A','石家莊B','石家莊C','石家莊D','石家莊E'],
'張家口':['張家口A','張家口B','張家口C'],
'承德':['承德A','承德B','承德C','承德D']
}
}
可以使用如下方法進(jìn)行列出
for i in cities['北京']:
print(i)
將列出如下結(jié)果:
朝陽(yáng)
海淀
昌平
懷柔
密云
for i in cities['北京']['海淀']:
print(i)
輸出如下結(jié)果:
圓明園
蘇州街
中關(guān)村
北京大學(xué)
人生苦短玻孟,我用Python
對(duì)網(wǎng)絡(luò)安全感興趣的朋友可以關(guān)注我的連載 :