python學(xué)習(xí)筆記----字典的定義和常用操作(自用)
字典的定義
字典的定義,同樣使用{},不過(guò)存儲(chǔ)的元素都是一個(gè)個(gè)的:鍵值對(duì),如下語(yǔ)法:
#定義字典字面量
{key:value,key:value;........}
#定義字典變量
dict1={{key:value,key:value;........}
#定義空字典
dict1={}
dict=dict()
字典數(shù)據(jù)的獲取
字典同集合一樣,不可以使用下標(biāo)索引
但字典可以通過(guò)key值來(lái)取得對(duì)應(yīng)的value
score={"語(yǔ)文":80,"數(shù)學(xué)":90,"英語(yǔ)":88}
print(score["語(yǔ)文"]) ? ?#結(jié)果:80
print(score["數(shù)學(xué)"]) ? ?#結(jié)果:90
print(score["英語(yǔ)"]) ? ?#結(jié)果:88
字典的嵌套
字典的key和value可以是任意類(lèi)型的數(shù)據(jù)(key不可為字典)
表明字典是可以嵌套的
student_score={ "張三":{ "語(yǔ)文":75, "數(shù)學(xué)":90, "英語(yǔ)":85 },"李四":{ "語(yǔ)文":88, "數(shù)學(xué)":86, "英語(yǔ)":55 },"王五":{ "語(yǔ)文":99, "數(shù)學(xué)":96, "英語(yǔ)":66 } } score=student_score["張三"]["英語(yǔ)"]
print(f"張三的英語(yǔ)得分是:{score}") ? ?#結(jié)果:張三的英語(yǔ)得分是:85
字典的常用操作
新增元素
語(yǔ)法:字典[key]=value,結(jié)果:字典被修改,新增了元素
score={"張三":88,"李四":67}
score["王五"]=90
print(score) ? ?#結(jié)果:{'張三': 88, '李四': 67, '王五': 90}
更新元素
語(yǔ)法:字典[key]=value,結(jié)果:字典被修改,元素被更新
注意:字典key不可以重復(fù),所以對(duì)已存在的key進(jìn)行上述操作就是更新value值
score={"張三":88,"李四":67,"王五":90}
score["王五"]=60
print(score) ? ?#結(jié)果:{'張三': 88, '李四': 67, '王五': 60}
刪除元素
語(yǔ)法:字典.pop(key)
score={"張三":88,"李四":67,"王五":90}
score1=score.pop("張三")
print(score1) ? ?#結(jié)果:88
print(score) ? ? #結(jié)果:{'李四': 67, '王五': 90}
清空元素
語(yǔ)法:字典.clear()
獲取全部的key
語(yǔ)法:字典.keys(),結(jié)果:得到字典中全部的key
score={"張三":88,"李四":67,"王五":90}
print(f"字典內(nèi)全部的key:{score.keys()}") ? ?#結(jié)果:字典內(nèi)全部的key:dict_keys(['張三', '李四', '王五'])
字典的遍歷
方式1:通過(guò)獲取到全部的key來(lái)完成遍歷
方式2:直接對(duì)字典進(jìn)行for循環(huán),每一次循環(huán)都是直接得到key
常用操作總結(jié):
