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

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

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

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

首先驗證一下Python 3.5和3.6這兩個版本的有序性(Python 2和這兩個版本的表現(xiàn)也均不一致,本書不詳細探討)。在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']} 

然后關閉Python交互模式,再重新進入Python交互模式:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone   # someone字典鍵-值對的順序發(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及之前的版本中,字典是無序的,因此,上面的情況可能會出現(xiàn)(由于是隨機的,當然也可能順序不變)。但是從Python 3.6開始,執(zhí)行和前面一樣的操作,無論做多少次,都會得到下面的結果:

  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']} 

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

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

5、copy()方法

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

  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字典中添加一個鍵-值對 
  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)建一個新字典,該字典具有用戶提供的值。fromkeys()方法返回一個新字典,其中指定序列中的項作為字典的鍵。如果設置了value參數(shù),那么字典所有鍵對應的值都將設置為提供的值;如果未設置,那么默認值為None:

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

7、clear()方法

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

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

 

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

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/51892.html

THE END  

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

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

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

快速通道fast track

近期開班時間TIME