python 字典的使用大全

說明:目錄中的\是因爲頁面轉義的問題已聯繫客服小姐姐,謝謝大家支持!
三歲學習系列,白話帶你學編程

字典

字典是包括0個或多個鍵值對的集合,沒有長度限制。可以根據鍵值索引值的內容

鍵值對

鍵–值 是映射類型數據的一種組合,每個元素都是一個鍵值對。
鍵就像是一個英文單詞,值就像是在英漢字典的頁碼
鍵是唯一的,值可以有多個
但是鍵是無序的
<鍵>:<值>
通過鍵來查找值

字典的創建

字典用大括號把鍵值對進行包裹,鍵值對之間用逗號隔開

>>> Dcountry = {'浙江':'杭州', '江蘇':'南京','江西':'南昌'}
>>> Dcountry
{'浙江': '杭州', '江蘇': '南京', '江西': '南昌'}

字典的查找,修改,添加

查找

字典是採用字符索引的(列表採用數字索引)
字典名[<鍵名>] = <值>

>>> Dcountry ['浙江']
'杭州'

添加

字典名[<鍵>] = <值>

>>> Dcountry['安徽']= '合肥'
>>> Dcountry
{'浙江': '杭州', '江蘇': '南京', '江西': '南昌', '安徽': '合肥'}

修改

修改差不多和添加一樣
因爲<鍵>不可以重複,所以會被後面的覆蓋
利用這一點就可以修改

>>> Dcountry ['浙江']='大美杭州'
>>>> Dcountry
{'浙江': '大美杭州', '江蘇': '南京', '江西': '南昌', '安徽': '合肥'}

是不是覺得這些很簡單,嗯!我差點也這麼以爲了。

空字典

空字典要怎麼表述?
字典是{……}
空字典是{ }
問題來了? 那個集合也是{……}
注:空集合用 set()
空字典用{ }

字典的函數和方法

函數和方法 描述/解釋
<d>.keys() 返回所有的鍵信息
<d>.values() 返回所有的值的信息
<d>.items() 返回所有鍵值對的信息
<d>.get(<ksy>,<default>) 查找鍵值存在返回值,不存在返回默認值<default>
<d>.pop(<ksy>,<default>) 查找鍵值存在返回值,同時刪除該鍵值對,不存在返回默認值<default>
<d>.popitem() 隨機取出鍵值對,以元組的形式返回(key,value)
<d>.clear() 刪除所有的鍵值對
del <d>[<key>] 刪除對應的某一鍵值對
<key> in <d> 如果鍵在字典中則返回True,否則返回False
<d>.setdefault(<key>[,<default>]) 查看鍵是否存在,存在返回值,不存在設置鍵值對
<d1>.update<d2> 更新字典,把字典2的鍵值更新到字典1中
dict.fromkeys(seq[,value]) 用給定鍵創建新字典
<d>.copy() 複製生成新的字典

<d>.keys()

返回所有的鍵信息
以鍵值的形式

>>> Dcountry.keys ()
dict_keys(['浙江', '江蘇', '江西', '安徽'])

<d>.values()

返回所有的值的信息

>>> Dcountry.values()
dict_values(['大美杭州', '南京', '南昌', '合肥'])

<d>.items()

返回所有鍵值對的信息

>>> Dcountry.items()
dict_items([('浙江', '大美杭州'), ('江蘇', '南京'), ('江西', '南昌'), ('安徽', '合肥')])

注:如果要把以上的返回值類型轉換成類表需要使用 list()

>>> list(Dcountry.keys())
['浙江', '江蘇', '江西', '安徽']
>>> list(Dcountry.items())
[('浙江', '大美杭州'), ('江蘇', '南京'), ('江西', '南昌'), ('安徽', '合肥')]
>>> list(Dcountry.values())
['大美杭州', '南京', '南昌', '合肥']

<d>.get(<ksy>,<default>)

查找鍵值存在返回值,不存在返回默認值<default>

>>> Dcountry.get('浙江')
'杭州'
>>> Dcountry.get('北京')#是空值,不顯示
>>> Dcountry.get('北京','是首都')
'是首都'

<d>.pop(<ksy>,<default>)

查找鍵值存在返回值,同時刪除該鍵值對,不存在返回默認值<default>

>>> Dcountry.pop('浙江')
'杭州'
>>> Dcountry
{'江蘇': '南京', '江西': '南昌', '安徽': '合肥'}

>>> Dcountry.pop('福建')#如果值不存在會報錯
Traceback (most recent call last):
  File "<pyshell#136>", line 1, in <module>
    Dcountry.pop('福建')
KeyError: '福建'

>>> Dcountry.pop('福建','字典中不存在')
'字典中不存在'

<d>.popitem()

隨機取出鍵值對,以元組的形式返回(key,value)

>>> Dcountry.popitem()
('安徽', '合肥')
>>> Dcountry.popitem()
('江西', '南昌')
>>> Dcountry.popitem()
('江蘇', '南京')
>>> Dcountry.popitem()
Traceback (most recent call last):
  File "<pyshell#141>", line 1, in <module>
    Dcountry.popitem()
KeyError: 'popitem(): dictionary is empty'

注意:是取出(相對應隨機刪除,取出即不存在)如果是空字符串則報錯

<d>.clear()

刪除所有的鍵值對

>>> Dcountry = {'浙江':'杭州', '江蘇':'南京','江西':'南昌'}
>>> Dcountry
{'浙江': '杭州', '江蘇': '南京', '江西': '南昌'}
>>> Dcountry.clear()
>>> Dcountry
{}

del <d>[<key>]

刪除對應的某一鍵值對

>>> Dcountry = {'浙江':'杭州', '江蘇':'南京','江西':'南昌'}
>>> del Dcountry['江蘇']
>>> Dcountry
{'浙江': '杭州', '江西': '南昌'}

>>> del Dcountry['福建']
Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    del Dcountry['福建']
KeyError: '福建'

注意:如果鍵值對不存在則報錯,記得用異常處理

<key> in <d> or <key> not in <d>

in 如果鍵在字典中則返回True,否則返回False
not in 如果鍵不在字典中則返回True,否則返回False

>>> '浙江' in Dcountry
True
>>> '浙江' not in Dcountry
False

<d>.setdefault(<key>[,<default>])

查看鍵是否存在,存在返回值,不存在設置鍵值對
字典名.setdefault.(鍵名[,值])值默認爲0

>>> Dcountry.setdefault('浙江')
'杭州'
>>> Dcountry.setdefault('福建','福州')
'福州'
>>> Dcountry.setdefault('山東','字典裏面沒有')
'字典裏面沒有'

<d1>.update<d2>

更新字典,把字典2的鍵值更新到字典1中

>>> Dcountry = {'浙江': '杭州', '江西': '南昌', '福建': '福州'}
>>> Dcountry1 = {'山東':'濟南', '河北':'石家莊', '山西':'太原'}
>>> Dcountry.update(Dcountry1)
>>> Dcountry
{'浙江': '杭州', '江西': '南昌', '福建': '福州', '山東': '濟南', '河北': '石家莊', '山西': '太原'}
>>> Dcountry1
{'山東': '濟南', '河北': '石家莊', '山西': '太原'}

dict.fromkeys(seq[,value])

用給定鍵創建新字典

>>> a = dict.fromkeys('金華','火腿')
>>> a
{'金': '火腿', '華': '火腿'}
>>> seq = ('北京', '上海', '天津', '重慶')
>>> b = dict.fromkeys(seq,'直轄市')
>>> b
{'北京': '直轄市', '上海': '直轄市', '天津': '直轄市', '重慶': '直轄市'}

注:必須把值賦給字典名否則無法輸出

<d>.copy()

複製生成新的字典

>>> a = b.copy()
>>> a
{'北京': '直轄市', '上海': '直轄市', '天津': '直轄市', '重慶': '直轄市'}

遍歷輸出



鍵值對
都可以遍歷輸出

>>> for key in Dcountry1.keys():
	print(key)	
山東
河北
山西
>>> for value in Dcountry1.values():
	print(value)	
濟南
石家莊
太原
>>> for item in Dcountry1.items():
	print(item)	
('山東', '濟南')
('河北', '石家莊')
('山西', '太原')

字典是實現鍵值對映射的數據結構,長度任性,鍵值對也是混合類型的,所以使用非常靈活。
整理大全就到這裏了,多多練習,你會發現更多小祕密

希望大家多多支持,點個贊,收藏一波,留個言,三連來一下
謝謝大家~~~~

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