Python 操作字典 的几个技巧
Python 中的字典是Python中一個(gè)鍵值映射的數(shù)據(jù)結(jié)構(gòu),下面介紹一下如何優(yōu)雅的操作字典.
1 創(chuàng)建字典
Python有兩種方法可以創(chuàng)建字典,第一種是使用花括號(hào),另一種是使用內(nèi)建 函數(shù)dict
>>> info = {} >>> info = dict()2 初始化字典
Python可以在創(chuàng)建字典的時(shí)候初始化字典
>>> info = {"name" : cold } >>> info = dict(name = cold ) # 更優(yōu)雅很明顯第二種方法更加的優(yōu)雅和減少一些特殊字符的輸入,但是有種情況第二種不能勝任
>>> key = name >>> info = { key : cold } # { name : cold } >>> info = dict(key = cold ) # { key : cold }明顯第二種方法就會(huì)引發(fā)一個(gè)不容易找到的bug
Python字典還有一種初始化方式,就是使用字典的fromkeys方法可以從列表中獲取元素作為鍵并用None或fromkeys方法的第二個(gè)參數(shù)初始化
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' >>> info = {}.fromkeys([ name , blog ]) >>> info { blog : None, name : None} >>> info = dict().fromkeys([ name , blog ]) >>> info { blog : None, name : None} >>> info = dict().fromkeys([ name , blog ], linuxzen.com ) >>> info { blog : linuxzen.com , name : linuxzen.com }3 優(yōu)雅的獲取鍵值
字典可以這樣獲取到鍵的值
>>> info = { name : cold , blog : linuxzen.com } >>> info[ name ]cold但是如果獲取不存在的鍵的值就會(huì)觸發(fā)的一個(gè)KeyError異常,字典有一個(gè)get方法,可以使用字典get方法更加優(yōu)雅的獲取字典
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' >>> info = dict(name= cold , blog= www.linuxzen.com ) >>> info.get( name )cold >>> info.get( blogname ) None >>> info.get( blogname , linuxzen )linuxzen我們看到使用get方法獲取不存在的鍵值的時(shí)候不會(huì)觸發(fā)異常,同時(shí)get方法接收兩個(gè)參數(shù),當(dāng)不存在該鍵的時(shí)候就會(huì)返回第二個(gè)參數(shù)的值 我們可以看到使用get更加的優(yōu)雅
4 更新/添加
Python 字典可以使用鍵作為索引來訪問/更新/添加值
>>> info = dict() >>> info[ name ] = cold >>> info[ blog ] = linuxzen.com >>> info { blog : linuxzen.com , name : cold } >>> info { blog : linuxzen.com , name : cold night }同時(shí)Python字典的update方法也可以更新和添加字典
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' >>> info = dict(name= cold , blog= linuxzen.com ) >>> info.update({ name : cold night , blogname : linuxzen }) >>> info { blog : linuxzen.com , name : cold night , blogname : linuxzen } >>> info.update(name= cold , blog= www.linuxzen.com ) # 更優(yōu)雅 >>> info { blog : www.linuxzen.com , name : cold , blogname : linuxzen }Python字典的update方法可以使用一個(gè)字典來更新字典,也可以使用參數(shù)傳遞類似dict函數(shù)一樣的方式更新一個(gè)字典,上面代碼中哦功能的第二個(gè)更加優(yōu)雅,但是同樣和dict函數(shù)類似,鍵是變量時(shí)也只取字面值
5 字典刪除
可以調(diào)用Python內(nèi)置關(guān)鍵字del來刪除一個(gè)鍵值
>>> info = dict(name= cold , blog= linuxzen.com ) >>> info { blog : linuxzen.com , name : cold } >>> del info[ name ] >>> info { blog : linuxzen.com }同時(shí)也可以使用字典的pop方法來取出一個(gè)鍵值,并刪除
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' >>> info = dict(name= cold , blog= linuxzen.com ) >>> info.pop( name )cold >>> info { blog : linuxzen.com }6 其他操作
獲取所有key
>>> info = dict(name= cold , blog= linuxzen.com ) >>> info.keys() [ blog , name ]獲取key,value并循環(huán)
>>> info = dict(name= cold , blog= linuxzen.com ) >>> for key, value in info.items(): ... print key, : , value ... blog : linuxzen.com name : cold總結(jié)
以上是生活随笔為你收集整理的Python 操作字典 的几个技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3.8 新特性:仅位置参数
- 下一篇: python 读取二进制数据到可变缓冲区