您好,登錄后才能下訂單哦!
今天小編給大家分享一下python如何實現字典操作的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
1:字典的創建
我們知道,python中列表用‘[]’表示,元祖用‘()’表示,字典用的是'{}'表示,創建較列表、元祖、字符串來說較為麻煩點,但只要記住鍵值對這三個字,就能正確創建一個字典類型的變量的,看下面代碼
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d) print(type(d)) print(d['a']) print(d['c'][1]) print(d['d'][1])
輸出結果如下:
{'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}
<class 'dict'>
我是a
2
第一行我們創建了一個叫d的字典類型,在創建時,我們把每一個鍵名都用英文的引號印起來,而鍵值可以是任意數據類型,比如a這個鍵的鍵值是字符串,b這個鍵的兼職是數字,c這個鍵的鍵值是列表,d這個鍵的鍵值是元組
第三行,輸出整個字典,看,它長得是不是和我們創建時一模一樣,
第四行,利用type函數檢查d這個變量的數據類型,輸出時dict,沒錯,dict就表示字典了,像list表示列表一樣
第五行,值輸出了字典里面a這個鍵的鍵值
第六行,輸出c這個鍵值里面的第二個元素,c的鍵值是list類型,所以我們可以像操作列表那樣操作d['c']
第七航,與第六行類似,只不過鍵值類型換成的元祖
2:修改字典
在創建字典時,我們為每一個鍵都指明了鍵值,如果后面我們想要修改這個鍵的鍵值怎么辦呢?也很簡單,只需要對這個鍵重新賦值就可以了,如下:
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d['a']) d['a'] = '我是被修改后的a' print(d['a'])
輸出結果如下:
我是a
我是被修改后的a
第四行我們輸出了最初a這個鍵的鍵值,第五行對a的鍵值進行修改,第六行輸出被修改后的a的鍵值
3:字典的刪除
如果我們在創建完成一個字典后,想要刪除字典里面的某個鍵,或者是整個字典,這時我們可以用 del 方法。
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d['a']) del d['a'] print(d['a'])
輸出如下
我是a
Traceback (most recent call last):
File "E:/py project/雜例/dict_demo.py", line 8, in <module>
print(d['a'])
KeyError: 'a'
上面第四行,我們先輸出的a的鍵值,人后利用 del 對a這個鍵進行刪除,在第六行再次訪問a這個鍵,就會報錯KeyError: 'a'
如果我們想要一次性刪除整個字典怎么辦呢?也很簡單,只要對第五行的代碼稍作修改,刪掉d后面的['a'],在 del 后面直接跟字典名就可以了。
還可以利用字典的 pop()方法進行刪除 del 方法在刪除的時候不存在返回值,二pop會返回被刪除鍵的鍵值,如果這個鍵不存在,還可以返回指定的錯誤信息,如下:
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d['a']) print(d.pop('a', '123456')) print(d.pop('e', '這個鍵不存在,無法刪除')) 輸入結果如下: 我是a 我是a 這個鍵不存在,無法刪除
第三行輸出a鍵的值
第四行刪除a鍵,并返回a鍵的值,因為這個鍵是存在于字典中的,所以不會返回后面的‘123456’
第五行刪除e鍵,而這個鍵不存在與字典中,所以返回后面的錯誤信息‘這個鍵不存在,無法刪除’
4:字典的清空
有些時候,我們想要刪除的不是整個字典,而只是字典里面的內容呢,這個時候,我們可以使用字典的clear方法,來對字典進行一個清空,操作如下
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} d.clear() print(d) 輸出如下: {}
可以看出,此時d已經成為了一個空字典
5:.get方法訪問鍵
字典['鍵名']這種方法雖然訪問字典里面的某個鍵很方便,但也存在一些不足,如果這個鍵不存在,程序就會終止,阻礙程序的正常運行,如果想要返回正確的錯誤信息,并讓程序繼續運行下去,就可以用 .get 方法來訪問字典里面的鍵,
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.get('e', '這個鍵不存在')) print(d['e']) 輸入如下: 這個鍵不存在 Traceback (most recent call last): File "E:/py project/雜例/dict_demo.py", line 6, in <module> print(d['e']) KeyError: 'e'
第三第四行都訪問了一個字典中不存在的鍵,而第三行用 .get 方法訪問,返回設置好的錯誤信息,程序繼續向下運行,第四行普通方法訪問,程序報錯、終止
6:in 操作符
在字典中,我們可以利用 in 操作符判斷鍵是否存在于字典中,如果鍵在字典 dict 里返回 true,否則返回 false。看下面簡單代碼
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print('a' in d) print('e' in d)
輸出結果如下:
True
False
第四行,‘a’這個鍵在字典中,返回True,第五行,‘’e這個鍵不在字典中,返回false
7:獲取字典中鍵值對
現在我們已經知道,字典是以鍵值對(鍵和它對應的鍵值)的形式存儲數據的,那么有沒有什么方法讓我們一次性獲取一個字典中所有的鍵值對呢?可以用items()方法
字典的 items() 方法以列表返回可遍歷的(鍵, 值) 元組數組。意思就是返回一個列表,列表里面的每個元素都是元組,一個元祖就是字典里面的一對鍵值對。
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.items()) for i, j in d.items(): print(i, j)
輸出結果如下:
dict_items([('a', '我是a'), ('b', 1), ('c', [1, 2, 3]), ('d', (1, 2, 3))])
a 我是a
b 1
c [1, 2, 3]
d (1, 2, 3)
第三行,我們輸出了items()的返回結果,可以清楚的看到每個元祖都是字典里面的一個鍵值對,可以使用list把它轉換為一個列表,能幫助我們更好的訪問里面的元素。
第五行,利用items()方法幫助我們遍歷一個字典,每次輸出一個鍵和它對應的鍵值。
8:獲取鍵
items()方法可以幫助我們一次性獲取所有的鍵值對,但如果我們只想要獲取鍵呢?可以使用 keys() 方法
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.keys()) l = list(d.keys()) print(l) print(l[1])
輸出結果如下:
dict_keys(['a', 'b', 'c', 'd'])
['a', 'b', 'c', 'd']
b
第三行的返回結果中,只有鍵,第四行把返回結果轉換成了列表,第五行對這個列表進行輸出,第六行輸出列表中黨的第二個元素,也就是字典的第二個鍵
9:獲取值
既然能值獲取到字典中的鍵,當然也能只獲取字典中的字。就是values()方法
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.values()) l = list(d.values()) print(l) print(l[1])
輸出結果如下:
dict_values(['我是a', 1, [1, 2, 3], (1, 2, 3)])
['我是a', 1, [1, 2, 3], (1, 2, 3)]
以上就是“python如何實現字典操作”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。