本篇內容介紹了“Python字典的概念和作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
字典是“鍵值對”的無序可變序列,字典中的每個元素都是一個“鍵值對”,包含:“鍵對象”和“值對象”。
可以通過“鍵對象”實現快速獲取、刪除、更新對應的“值對象”。列表中我們通過“下標數字”找到對應的對象。
字典中通過“鍵對象”找到對應的“值對象”?!版I”是任意的不可變數據,比如:整數、浮點數、字符串、元組。
但是:列表、字典、集合這些可變對象,不能作為“鍵”,并且“鍵”不可重復。
“值”可以是任意的數據,并且可重復。
一個典型的字典的定義方式:a = {'name':'jeames','age':18,'job':'programmer'}
1 字典的創建
1.1 我們可以通過{}、dict()來創建字典對象
>>> a = {'name':'jeames','age':18,'job':'programmer'}
>>> b = dict(name='jeames',age=18,job='programmer')
>>> a = dict([("name","jeames"),("age",18)])
>>> c = {} #空的字典對象
>>> d = dict() #空的字典對象1.2 通過 zip()創建字典對象
>>> k = ['name','age','job']
>>> v = ['jeames',18,'techer']
>>> d = dict(zip(k,v))
>>> d
{'name': 'jeames', 'age': 18, 'job': 'techer'}1.3 通過 fromkeys 創建值為空的字典
>>> a = dict.fromkeys(['name','age','job'])
>>> a
{'name': None, 'age': None, 'job': None}2 字典元素的訪問
為了測試各種訪問方法,我們這里設定一個字典對象:a = {'name':'jeames','age':18,'job':'programmer'}
2.1 通過 [鍵] 獲得“值”
若鍵不存在,則拋出異常
>>> a = {'name':'jeames','age':18,'job':'programmer'}
>>> a['name']
'jeames'
>>> a['age']
18
>>> a['sex']
Traceback (most recent call last):
File "<pyshell#374>", line 1, in <module>
a['sex']
KeyError: 'sex'2.2. 通過 get()方法獲得“值”,推薦使用
優點是:指定鍵不存在,返回 None;也可以設定指定鍵不存在時默認返回的對象,推薦使用 get()獲取“值對象”。
>>> a.get('name')
'gaoqi'
>>> a.get('sex')
>>> a.get('sex','一個男人')
'一個男人'2.3 列出所有的鍵值對
>>> a.items()
dict_items([('name', 'gaoqi'), ('age', 18), ('job', 'programmer')])2.4 列出所有的鍵,列出所有的值
>>> a.keys() dict_keys(['name', 'age', 'job']) >>> a.values() dict_values(['jeames', 18, 'programmer'])
3 字典元素添加\刪除
給字典新增“鍵值對”。如果“鍵”已經存在,則覆蓋舊的鍵值對;如果“鍵”不存在,則新增“鍵值對”
>>>a = {'name':'jeames','age':18,'job':'programmer'}
>>> a['address']='合肥'
>>> a['age']=16
>>> a
{'name': 'gaoqi', 'age': 16, 'job': 'programmer', 'address': '合肥'}字典中元素的刪除,可以使用 del()方法;
或者 clear()刪除所有鍵值對;pop()刪除指定鍵值對,并返回對應的“值對象”;
>>> a = {'name':'jeames','age':18,'job':'programmer'}
>>> del(a['name'])
>>> a
{'age': 18, 'job': 'programmer'}
>>> b = a.pop('age')
>>> b
18“Python字典的概念和作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。