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

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

  • 發(fā)布: python培訓(xùn)
  • 來(lái)源:python干貨資料
  • 2020-08-07 14:01:33
  • 閱讀()
  • 分享
  • 手機(jī)端入口

字典是數(shù)據(jù)的無(wú)序集合,用于存儲(chǔ)數(shù)據(jù)值。與其他僅將單個(gè)值作為項(xiàng)的數(shù)據(jù)類型不同,字典具有鍵-值對(duì)。字典中的鍵和值之間用冒號(hào)“:”分隔,而鍵-值對(duì)之間用逗號(hào)“,”分隔,所有鍵-值對(duì)用花括號(hào)“{}”括起來(lái)。字典的語(yǔ)法格式如下:

字典名 = {鍵1: 值1, 鍵2: 值2, …}

字典的工作方式類似于現(xiàn)實(shí)世界中的字典,字典的鍵必須是唯一的,并且是不可變的數(shù)據(jù)類型,如字符串、整數(shù)和元組,但是鍵的值可以重復(fù),并且可以是任意類型。

下面介紹字典采用的主流方法。

1、setdefault()方法

字典的setdefault()方法用于指定一個(gè)鍵和一個(gè)值(鍵為第一個(gè)參數(shù))。如果字典中存在指定的鍵,那么它和get()方法是等價(jià)的:

  1. >>> someone = {'name''Wang''age'19
  2. >>> someone.setdefault('age'35)   # 鍵'age'已存在,返回對(duì)應(yīng)的值 
  3. 19 
  4. >>> someone   # someone字典并沒(méi)有改變 
  5. {'name''Wang''age'19

如果字典中不存在指定的鍵,那么會(huì)在字典中添加鍵-值對(duì):

  1. >>> someone = {'name''Wang''age'19
  2. >>> someone.setdefault('gender''female')   # 鍵'gender'不存在 
  3. 'female' 
  4. >>> someone   # someone字典中添加了'gender': 'female'鍵-值對(duì) 
  5. {'name''Wang''age'19'gender''female'

setdefault()方法也可以不指定“值”,即第二個(gè)參數(shù)為空,此時(shí)默認(rèn)的“值”為None:

  1. >>> someone = {'name''Wang''age'19
  2. >>> someone.setdefault('gender')   # 未指定鍵-值對(duì)中的值 
  3. >>> someone   # 鍵'gender'的值為None 
  4. {'name''Wang''age'19'gender'None

2、keys()方法

字典的keys()方法用于返回該字典所有鍵的字典視圖:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone.keys()   # 返回所有鍵的字典視圖 
  3. dict_keys(['name''age''hobbies']) 

字典視圖是一種特殊的類型,它可以迭代,這意味著可以用for循環(huán)迭代它:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> for key in someone.keys(): 
  3. ...     print(key) 
  4. ... 
  5. name 
  6. age 
  7. hobbies 

除了可迭代外,字典視圖還有一個(gè)重要的特性,這也是它為什么被稱為視圖的原因。字典視圖可以“實(shí)時(shí)”反映出字典當(dāng)前的情況,當(dāng)字典改變時(shí),它的值也會(huì)隨之改變(即使已經(jīng)賦值給一個(gè)變量):

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone_keys = someone.keys()  # 先將keys()返回的值賦給變量 
  3. >>> someone_keys  
  4. dict_keys(['name''age''hobbies']) 
  5. >>> del someone['hobbies']   # 再刪除'hobbies'鍵-值對(duì) 
  6. >>> someone_keys   # someone_keys的值也隨之改變 
  7. dict_keys(['name''age']) 
  8. >>> someone['gender'] = 'male'   # 添加一個(gè)鍵-值對(duì) 
  9. >>> someone_keys   # someone_keys的值再次隨之改變 
  10. dict_keys(['name''age''gender']) 

如果想要保存字典的狀態(tài),可以將字典視圖復(fù)制到列表或元組中:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone_keys = list(someone.keys())  # 先使用list()將字典視圖變成列表 
  3. >>> someone_keys 
  4. ['name''age''hobbies'
  5. >>> del someone['hobbies']   # 再刪除'hobbies'鍵-值對(duì) 
  6. >>> someone_keys   # someone_keys的值并沒(méi)有改變 
  7. ['name''age''hobbies'

3、values()方法

字典的values()方法與keys()方法類似,只是它返回的是該字典所有值的字典視圖:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone.values()  # 返回所有值的字典視圖 
  3. dict_values(['Wang'19, ['sing songs''dance''basketball']]) 

字典所有值的字典視圖也可以迭代:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> for value in someone.values(): 
  3. ...     print(value) 
  4. ... 
  5. Wang 
  6. 19 
  7. ['sing songs''dance''basketball'

 

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

>>本文地址:http://m.littlerockbway.com/zhuanye/2020/51513.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