字典是數(shù)據(jù)的無序集合,用于存儲數(shù)據(jù)值。與其他僅將單個值作為項的數(shù)據(jù)類型不同,字典具有鍵-值對。字典中的鍵和值之間用冒號“:”分隔,而鍵-值對之間用逗號“,”分隔,所有鍵-值對用花括號“{}”括起來。字典的語法格式如下:
字典名 = {鍵1: 值1, 鍵2: 值2, …}
字典的工作方式類似于現(xiàn)實世界中的字典,字典的鍵必須是唯一的,并且是不可變的數(shù)據(jù)類型,如字符串、整數(shù)和元組,但是鍵的值可以重復,并且可以是任意類型。
下面介紹字典采用的主流方法。
1、setdefault()方法
字典的setdefault()方法用于指定一個鍵和一個值(鍵為第一個參數(shù))。如果字典中存在指定的鍵,那么它和get()方法是等價的:
- >>> someone = {'name': 'Wang', 'age': 19}
- >>> someone.setdefault('age', 35) # 鍵'age'已存在,返回對應的值
- 19
- >>> someone # someone字典并沒有改變
- {'name': 'Wang', 'age': 19}
如果字典中不存在指定的鍵,那么會在字典中添加鍵-值對:
- >>> someone = {'name': 'Wang', 'age': 19}
- >>> someone.setdefault('gender', 'female') # 鍵'gender'不存在
- 'female'
- >>> someone # someone字典中添加了'gender': 'female'鍵-值對
- {'name': 'Wang', 'age': 19, 'gender': 'female'}
setdefault()方法也可以不指定“值”,即第二個參數(shù)為空,此時默認的“值”為None:
- >>> someone = {'name': 'Wang', 'age': 19}
- >>> someone.setdefault('gender') # 未指定鍵-值對中的值
- >>> 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
除了可迭代外,字典視圖還有一個重要的特性,這也是它為什么被稱為視圖的原因。字典視圖可以“實時”反映出字典當前的情況,當字典改變時,它的值也會隨之改變(即使已經賦值給一個變量):
- >>> 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'鍵-值對
- >>> someone_keys # someone_keys的值也隨之改變
- dict_keys(['name', 'age'])
- >>> someone['gender'] = 'male' # 添加一個鍵-值對
- >>> someone_keys # someone_keys的值再次隨之改變
- dict_keys(['name', 'age', 'gender'])
如果想要保存字典的狀態(tài),可以將字典視圖復制到列表或元組中:
- >>> 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'鍵-值對
- >>> 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://liujunjsxg.cn/zhuanye/2020/51513.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?