IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
字典是數(shù)據(jù)的無序集合,用于存儲(chǔ)數(shù)據(jù)值。與其他僅將單個(gè)值作為項(xiàng)的數(shù)據(jù)類型不同,字典具有鍵-值對(duì)。字典中的鍵和值之間用冒號(hào)“:”分隔,而鍵-值對(duì)之間用逗號(hào)“,”分隔,所有鍵-值對(duì)用花括號(hào)“{}”括起來。字典的語法格式如下:
字典名 = {鍵1: 值1, 鍵2: 值2, …}
字典的工作方式類似于現(xiàn)實(shí)世界中的字典,字典的鍵必須是唯一的,并且是不可變的數(shù)據(jù)類型,如字符串、整數(shù)和元組,但是鍵的值可以重復(fù),并且可以是任意類型。
下面介紹字典采用的主流方法。
1、setdefault()方法
字典的setdefault()方法用于指定一個(gè)鍵和一個(gè)值(鍵為第一個(gè)參數(shù))。如果字典中存在指定的鍵,那么它和get()方法是等價(jià)的:
- >>> someone = {'name': 'Wang', 'age': 19}
- >>> someone.setdefault('age', 35) # 鍵'age'已存在,返回對(duì)應(yīng)的值
- 19
- >>> someone # someone字典并沒有改變
- {'name': 'Wang', 'age': 19}
如果字典中不存在指定的鍵,那么會(huì)在字典中添加鍵-值對(duì):
- >>> someone = {'name': 'Wang', 'age': 19}
- >>> someone.setdefault('gender', 'female') # 鍵'gender'不存在
- 'female'
- >>> someone # someone字典中添加了'gender': 'female'鍵-值對(duì)
- {'name': 'Wang', 'age': 19, 'gender': 'female'}
setdefault()方法也可以不指定“值”,即第二個(gè)參數(shù)為空,此時(shí)默認(rèn)的“值”為None:
- >>> someone = {'name': 'Wang', 'age': 19}
- >>> someone.setdefault('gender') # 未指定鍵-值對(duì)中的值
- >>> someone # 鍵'gender'的值為None
- {'name': 'Wang', 'age': 19, 'gender': None}
2、keys()方法
字典的keys()方法用于返回該字典所有鍵的字典視圖:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> someone.keys() # 返回所有鍵的字典視圖
- dict_keys(['name', 'age', 'hobbies'])
字典視圖是一種特殊的類型,它可以迭代,這意味著可以用for循環(huán)迭代它:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> for key in someone.keys():
- ... print(key)
- ...
- name
- age
- hobbies
除了可迭代外,字典視圖還有一個(gè)重要的特性,這也是它為什么被稱為視圖的原因。字典視圖可以“實(shí)時(shí)”反映出字典當(dāng)前的情況,當(dāng)字典改變時(shí),它的值也會(huì)隨之改變(即使已經(jīng)賦值給一個(gè)變量):
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> someone_keys = someone.keys() # 先將keys()返回的值賦給變量
- >>> someone_keys
- dict_keys(['name', 'age', 'hobbies'])
- >>> del someone['hobbies'] # 再刪除'hobbies'鍵-值對(duì)
- >>> someone_keys # someone_keys的值也隨之改變
- dict_keys(['name', 'age'])
- >>> someone['gender'] = 'male' # 添加一個(gè)鍵-值對(duì)
- >>> someone_keys # someone_keys的值再次隨之改變
- dict_keys(['name', 'age', 'gender'])
如果想要保存字典的狀態(tài),可以將字典視圖復(fù)制到列表或元組中:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> someone_keys = list(someone.keys()) # 先使用list()將字典視圖變成列表
- >>> someone_keys
- ['name', 'age', 'hobbies']
- >>> del someone['hobbies'] # 再刪除'hobbies'鍵-值對(duì)
- >>> someone_keys # someone_keys的值并沒有改變
- ['name', 'age', 'hobbies']
3、values()方法
字典的values()方法與keys()方法類似,只是它返回的是該字典所有值的字典視圖:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> someone.values() # 返回所有值的字典視圖
- dict_values(['Wang', 19, ['sing songs', 'dance', 'basketball']])
字典所有值的字典視圖也可以迭代:
- >>> someone = {'name': 'Wang', 'age': 19, 'hobbies': ['sing songs', 'dance', 'basketball']}
- >>> for value in someone.values():
- ... print(value)
- ...
- Wang
- 19
- ['sing songs', 'dance', 'basketball']
>>本文地址:http://uj2y2uok.com/zhuanye/2020/51513.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?