Python字典介紹
目前B站正在直播Mysql、Oracle實戰,詳情關注公眾號:IT邦德
微信二維碼 微信公眾號
字典是“鍵值對”的無序可變序列,字典中的每個元素都是一個“鍵值對”,包含:“鍵物件”和“值物件”。
可以通過“鍵物件”實現快速獲取、刪除、更新對應的“值物件”。列表中我們通過“下標數字”找到對應的物件。
字典中通過“鍵物件”找到對應的“值物件”。“鍵”是任意的不可變資料,比如:整數、浮點數、字串、元組。
但是:列表、字典、集合這些可變物件,不能作為“鍵”,並且“鍵”不可重複。
“值”可以是任意的資料,並且可重複。
一個典型的字典的定義方式: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
QQ:2243967774,更多資料請關注公眾號:IT 邦德,專注於資料庫及程式開發,掃描加微信
- 還用寬表?體驗一下DQL成就新一代的BI吧
- 大資料計算,如何優化SQL?
- MySQL高可用之MHA架構企業實戰
- 【牛客刷題-SQL大廠面試真題】NO5.某寶店鋪分析(電商模式)
- 內卷時代,35歲程式猿轉行DBA|2022 年中總結
- MySQL高可用之多源複製
- MySQL8.0新特性搶先看,效能又雙叒提升了
- Oracle表碎片對效能有多大影響?
- 趣味端午節,程式猿特殊的獻禮
- 【微信小程式開發】第1篇:開發工具安裝及程式配置
- CentOS7部署Mysql8.0.27
- MySQL中COLLATE是用來做什麼的?
- PostgreSQL大總結,小白最適合了
- Mysql快速找回root密碼妙招
- Python字典介紹
- Mysql日期型別剖析
- Python元組詳解
- Python列表詳解
- Python字串詳解
- Windows安裝Mysql(msi 圖形安裝)