您好,登錄后才能下訂單哦!
本篇內容介紹了“Python字典的概念和作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
字典是“鍵值對”的無序可變序列,字典中的每個元素都是一個“鍵值對”,包含:“鍵對象”和“值對象”。
可以通過“鍵對象”實現快速獲取、刪除、更新對應的“值對象”。列表中我們通過“下標數字”找到對應的對象。
字典中通過“鍵對象”找到對應的“值對象”。“鍵”是任意的不可變數據,比如:整數、浮點數、字符串、元組。
但是:列表、字典、集合這些可變對象,不能作為“鍵”,并且“鍵”不可重復。
“值”可以是任意的數據,并且可重復。
一個典型的字典的定義方式: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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。