python字典的常用操作方法小結

Python字典是另一種可變容器模型(無序),且可存儲任意類型對象,如字符串、數字、元組等其他容器模型。本文章主要介紹Python中字典(Dict)的詳解操作方法,包含創建、訪問、刪除、其它操作等,需要的朋友可以參考下。

字典由鍵和對應值成對組成。字典也被稱作關聯數組或哈希表。基本語法如下:

1.創建字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
技巧:
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
注意:
每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括號中({})。
鍵必須獨一無二,但值則不必。

2.訪問字典裏的值

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> print(dict['ob1'])
computer
如果用字典裏沒有的鍵訪問數據,會輸出錯誤如下:
>>> print(dict['ob4'])
Traceback (most recent call last):
 File "<pyshell#110>", line 1, in <module>
  print(dict['ob4'])
 
訪問所有值
>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> for key in dict1:
  print(key,dict1[key])  
ob3 printer
ob2 mouse
ob1 computer

3.修改字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> dict['ob1']='book'
>>> print(dict)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'book'}

4.刪除字典

能刪單一的元素
>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> del dict['ob1']
>>> print(dict)
{'ob3': 'printer', 'ob2': 'mouse'}
 
刪除字典中所有元素 
>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
>>> dict1.clear()
>>> print(dict1)
{}
 
 
刪除整個字典,刪除後訪問字典會拋出異常。
>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> del dict1
>>> print(dict1)
Traceback (most recent call last):
 File "<pyshell#121>", line 1, in <module>
  print(dict1)
NameError: name 'dict1' is not defined

5.更新字典

update()方法可以用來將一個字典的內容添加到另外一個字典中:
>>> dict1 = {'ob1':'computer', 'ob2':'mouse'}
>>> dict2={'ob3':'printer'}
>>> dict1.update(dict2)
>>> print(dict1)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'computer'}

6.映射類型相關的函數

>>> dict(x=1, y=2) 
{'y': 2, 'x': 1} 
>>> dict8 = dict(x=1, y=2) 
>>> dict8 
{'y': 2, 'x': 1} 
>>> dict9 = dict(**dict8) 
>>> dict9 
{'y': 2, 'x': 1} 
  
dict9 = dict8.copy()

7.字典鍵的特性

字典值可以沒有限制地取任何python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。
兩個重要的點需要記住:
1)不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住  
>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
>>> print(dict1)
{'ob2': 'mouse', 'ob1': 'printer'}
   
2)鍵必須不可變,所以可以用數,字符串或元組充當,用列表就不行
>>> dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
Traceback (most recent call last):
 File "<pyshell#125>", line 1, in <module>
  dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
TypeError: unhashable type: 'list'

8.字典內置函數&方法

Python字典包含了以下內置函數:
1、cmp(dict1, dict2):比較兩個字典元素。(python3後不可用)[添加鏈接描述](https://jq.qq.com/?_wv=1027&k=5JIjRvv)
2、len(dict):計算字典元素個數,即鍵的總數。
3、str(dict):輸出字典可打印的字符串。
4、type(variable):返回輸入的變量類型,如果變量是字典就返回字典類型。
 
Python字典包含了以下內置方法:
1、radiansdict.clear():刪除字典內所有元素
2、radiansdict.copy():返回一個字典的淺複製
3、radiansdict.fromkeys():創建一個新字典,以序列seq中元素做字典的鍵,val爲字典所有鍵對應的初始值
4、radiansdict.get(key, default=None):返回指定鍵的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果鍵在字典dict裏返回true,否則返回false
6、radiansdict.items():以列表返回可遍歷的(鍵, 值) 元組數組
7、radiansdict.keys():以列表返回一個字典所有的鍵
8、radiansdict.setdefault(key, default=None):和get()類似, 但如果鍵不已經存在於字典中,將會添加鍵並將值設爲default
9、radiansdict.update(dict2):把字典dict2的鍵/值對更新到dict裏
10、radiansdict.values():以列表返回字典中的所有值

以上這篇python字典的常用操作方法小結就是小編分享給大家的全部內容了

推薦我們的python學習基地,點擊進入,看老程序是如何學習的!從基礎的python腳本、爬蟲、django

、數據挖掘等編程技術,工作經驗,還有前輩精心爲學習python的小夥伴整理零基礎到項目實戰的資料

,!每天都有程序員定時講解Python技術,分享一些學習的方法和需要留意的小細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章