400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python字典方法匯總(下)

【Python基礎(chǔ)知識(shí)】Python字典方法匯總(下)

  • 發(fā)布: python培訓(xùn)
  • 來源:python干貨資料
  • 2020-08-12 20:06:11
  • 閱讀()
  • 分享
  • 手機(jī)端入口
4、popitem()方法

字典的popitem()方法和列表的pop()方法很像,都是“彈出”并返回一個(gè)元素。在Python 3.5及之前的版本中,字典是無序的,因此,popitem()是隨機(jī)彈出一個(gè)項(xiàng);但從Python 3.6開始,字典是按插入的順序排列的,因此,popitem()彈出的是最后一個(gè)項(xiàng)。

首先驗(yàn)證一下Python 3.5和3.6這兩個(gè)版本的有序性(Python 2和這兩個(gè)版本的表現(xiàn)也均不一致,本書不詳細(xì)探討)。在Python 3.5中:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone   # 查看someone 
  3. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  4. >>> someone   # 再次查看someone,發(fā)現(xiàn)它并沒有改變 
  5. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 

然后關(guān)閉Python交互模式,再重新進(jìn)入Python交互模式:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone   # someone字典鍵-值對(duì)的順序發(fā)生了改變 
  3. {'hobbies': ['sing songs''dance''basketball'], 'name''Wang''age'19
  4. >>> someone 
  5. {'hobbies': ['sing songs''dance''basketball'], 'name''Wang''age'19

由于在Python 3.5及之前的版本中,字典是無序的,因此,上面的情況可能會(huì)出現(xiàn)(由于是隨機(jī)的,當(dāng)然也可能順序不變)。但是從Python 3.6開始,執(zhí)行和前面一樣的操作,無論做多少次,都會(huì)得到下面的結(jié)果:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone 
  3. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  4. >>> someone 
  5. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 

確認(rèn)Python 3.6中字典是有序的之后,嘗試使用popitems()方法:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone.popitem()   # 彈出并返回最后一個(gè)項(xiàng) 
  3. ('hobbies', ['sing songs''dance''basketball']) 
  4. >>> someone.popitem() 
  5. ('age'19
  6. >>> someone.popitem() 
  7. ('name''Wang'
  8. >>> someone.popitem()  # 如果字典為空,Python解釋器會(huì)報(bào)錯(cuò) 
  9. Traceback (most recent call last): 
  10.   File "<stdin>", line 1in <module> 
  11. KeyError: 'popitem(): dictionary is empty' 

5、copy()方法

與列表的copy()方法類似,字典的copy()方法返回一個(gè)和被拷貝字典相同的字典(同樣是淺復(fù)制):

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> other = someone.copy() 
  3. >>> other 
  4. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  5. >>> other['gender'] = 'female'   # other字典中添加一個(gè)鍵-值對(duì) 
  6. >>> other   # other字典改變了 
  7. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball'], 'gender''female'
  8. >>> someone   # someone字典并沒有改變 
  9. {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 

6、fromkeys()方法

字典的fromkeys()方法用于根據(jù)指定序列創(chuàng)建一個(gè)新字典,該字典具有用戶提供的值。fromkeys()方法返回一個(gè)新字典,其中指定序列中的項(xiàng)作為字典的鍵。如果設(shè)置了value參數(shù),那么字典所有鍵對(duì)應(yīng)的值都將設(shè)置為提供的值;如果未設(shè)置,那么默認(rèn)值為None:

  1. >>> someone = {}.fromkeys(['name''age''hobbies'])  # 默認(rèn)值為None 
  2. >>> someone 
  3. {'name'None'age'None'hobbies'None
  4. >>> someone = {}.fromkeys(['name''age''hobbies'], 'a')  # 指定默認(rèn)值 
  5. >>> someone 
  6. {'name''a''age''a''hobbies''a'

7、clear()方法

字典的clear()方法用于清除字典中的所有項(xiàng):

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone.clear() 
  3. >>> someone   # 此時(shí)someone字典是一個(gè)空字典 
  4. {} 

 

文章“【Python基礎(chǔ)知識(shí)】Python字典方法匯總(下)”已幫助

>>本文地址:http://hqfphsz.com/zhuanye/2020/51892.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME