1帅戒、字典的特點(diǎn)
字典:是python中的無(wú)序的對(duì)象集合膘魄。字典與列表的區(qū)別是:字典中的數(shù)據(jù)是無(wú)序的,而且字典中的元素是依靠鍵來(lái)查詢的召调;列表中的數(shù)據(jù)是有序的膨桥,并且是通過索引查詢。
注意:字典的鍵必須是不可變類型唠叛,因?yàn)樵趧?chuàng)建字典時(shí)只嚣,會(huì)先對(duì)鍵進(jìn)行hash(),用以確定字典在內(nèi)存中是如何被保存的艺沼,而hash()只能傳入不可變類型的參數(shù)册舞。而字典的值可以是任意類型的數(shù)據(jù)。
特點(diǎn):
1障般、字典是任意對(duì)象的無(wú)序集合调鲸;
2、字典是通過鍵查找元素值的挽荡;
3藐石、字典是異構(gòu)、可嵌套的定拟;
4于微、字典是可變的映射類型;
5青自、字典是一個(gè)對(duì)象引用表株依,其中存儲(chǔ)的是對(duì)象的引用。
2延窜、常用操作方法
1)創(chuàng)建字典恋腕,從dic_test2的輸出中可以看出字典是無(wú)序的。
dic_test1 = {}
print(dic_test1) # 輸出為:{}
dic_test2 = {"name": "xiaoming", "age": 23, "weight": 65, "height": 185}
print(dic_test2) # 輸出為:{'name': 'xiaoming', 'age': 23, 'weight': 65, 'height': 185}
2)字典的增需曾、刪吗坚、查祈远、改
dic_test2["grade"] = 99 # 添加元素
print(dic_test2) # 輸出為:{'name': 'xiaoming', 'age': 23, 'weight': 65, 'height': 185, 'grade': 99}
dic_test3 = {"money": 123456789}
dic_test2.update(dic_test3) # 通過update()方法添加一個(gè)字典
print(dic_test2) # 輸出為:{'name': 'xiaoming', 'age': 23, 'weight': 65, 'height': 185, 'grade': 99, 'money': 123456789}
print(dic_test2["name"]) # 根據(jù)鍵查詢?cè)刂递敵鰹椋簒iaoming
dic_test2.pop("weight") # 刪除元素
print(dic_test2) # 輸出為:{'name': 'xiaoming', 'age': 23, 'height': 185, 'grade': 99}
del dic_test2["height"] # 刪除元素
print(dic_test2) # 輸出為:{'name': 'xiaoming', 'age': 23, 'grade': 99}
dic_test2["name"] = "xiaowang" # 原位修改元素
print(dic_test2) # 輸出為:{'name': 'xiaowang', 'age': 23, 'grade': 99}
3)其他常用方法
# keys()方法返回字典的所有鍵呆万,并將其放入在一個(gè)列表中
print(list(dic_test2.keys())) # 輸出為:['name', 'age', 'grade']
# values()方法返回字典的元素值
print(list(dic_test2.values())) # 輸出為:['xiaowang', 23, 99]
# items()方法返回字典的鍵和元素值的元組對(duì)列表
print(list(dic_test2.items())) # 輸出為:[('name', 'xiaowang'), ('age', 23), ('grade', 99)]