1. 程式人生 > 其它 >Python:【字典】

Python:【字典】

字典常用操作

1.構造(初始化)

(1)基本構造

①空字典

>>>dic1={}
>>>dic2=dict()

②直接賦值

>>>dic3={'name':'zhangdanshen','age':22}
>>>dic1.update(name='zhangdanshen')

#使用dict和關鍵字引數建立
>>>dic4=dict(name='zhangdanshen',age=22)
>>>dic4
{'name':'zhangdanshen','age':22}

③通過二元組列表建立

>>>lis=[(name,'zhangdanshen'),(age,22)]
>>>dic=dict(lis)
>>>dic
{'name':'zhangdanshen','age':22}

④通過zip建立

>>>dic=dict(zip('abc',[1,2,3]))
>>>dic
{'a':1,'b':2,'c':3}

⑤通過生成式

通常用於鍵值均為數字的情況

>>>dic={i:2**i for i in range(1,4)}
>>>dic
{1:2,2:4,3:8}

⑥通過dict.fromkeys()建立

通常用來初始化字典, 設定value的預設值

>>>dic=dict.fromkeys(range(3),'a')
>>>dic
{0:'a',1:'a',2:'a'}

(2)值為列表的構造

① 方法:

dic={}
dic.setdefault(key,[]).append(value)

② 引數:

key即字典的鍵; 因為值為列表,使用"[]"表示; value即為列表中的一個值

>>>dic={}
>>>dic.setdefaule('stu',[]).append('zhangdanshen')
>>>dic.setdefaule('stu',[]).append('chengnuo')
>>>dic
{'stu':['zhangdanshen','chengnuo']}

(3)值為字典的構造

① 方法:

dic={}
dic.setdefault(key1,{})[key2]=value

② 引數:

key1為字典dic的鍵;因為值為字典,使用"{}"表示; key2為字典值的鍵; value即為字典值中的一個值

>>>dic={}
>>>dic.setdefault('stu',{})['zhangdanshen']=22
>>>dic.setdefault('stu',{})['chengnuo']=20
>>>dic
{'stu':{'zhangdanshen':22,'chengnuo':20}}

2.字典遍歷

(1)遍歷字典鍵

直接遍歷字典與遍歷keys()相同

>>>dic={'a': '1', 'b': '2', 'c': '3'}
>>>for key in dic:
     print(key+':'+dic[key])
a:1
b:2
c:3

>>>for key in dic.keys():
     print(key+':'+dic[key])
a:1
b:2
c:3

(2)遍歷字典值

通過遍歷values()

>>>dic={'a': '1', 'b': '2', 'c': '3'}
>>>for value in dic.values():
     print(value)
1
2
3

(3)遍歷字典鍵值

通過遍歷items()

>>>dic={'a': '1', 'b': '2', 'c': '3'}
>>>for key,value in dic.items():
     print(key+':'+value)
a:1
b:2
c:3

3.字典常用方法

(1) get()方法

get() 方法根據 key 來獲取 value。與dic[key]獲取的方法不同的是,使用 get() 方法訪問不存在的 key,返回 None,不會導致錯誤。
而直接獲取的方法會引發 KeyError 錯誤。

>>>dic={'a': '1', 'b': '2', 'c': '3'}
>>>dic.get('a')
1
>>>dic.get('x')
None
>>>dic['x']
KeyError