Python字典(Dictionary)spa
字典是一種可變容器模型,可存儲任意類型對象。
code
字典的每一個鍵值(key => value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號({})中,格式以下所示:對象
d = {key1 : value1, key2 : value2 }
字典的特色:blog
鍵必須是惟一的,但值則沒必要惟一。排序
值能夠取任何數據類型,但鍵必須是不可變的類型。字符串
不可變類型:數字、字符串、元組;it
可變類型:列表、字典。io
字典中鍵值是無序的。class
一、建立字典
test
方法1:
1 dic = {'ID':'123124','name':'oliver','age':18
輸出
{'name': 'oliver', 'age': 18, 'ID': '123124'}
方法2:
1 dic = dict((('ID','234234'),)) #括號後的逗號表示第二對括號裏邊是一個序列
輸出:
{'ID': '234234'}
二、訪問字典
經過key去查找。
例1:
1 dic = {'ID':'123124','name':'oliver','age':18} 2 print(dic['name'])
輸出:
oliver
例2:
1 dic = {'ID':'123124','name':'oliver','age':18} 2 print(list(dic.keys()))
輸出:
['age', 'ID', 'name']
例3:
1 dic = {'ID':'123124','name':'oliver','age':18} 2 print(list(dic.values()))
輸出:
18, '123124', 'oliver']
例4:
1 dic = {'ID':'123124','name':'oliver','age':18} 2 print(list(dic.items()))
輸出:
[('ID', '123124'), ('age', 18), ('name', 'oliver')]
二、更新字典
若不存在,將dic2中的鍵值加入dic;若存在,則更新值
1 dic = {'ID':'123124','name':'oliver','age':18} 2 dic2 = {'1':'122','123':'123'} 3 dic.update(dic2) 4 print(dic)
輸出:
{'age': 18, 'ID': '123124', '1': '122', 'name': 'oliver', '123': '123'}
二、刪除字典
清空字典
1 dic = {'ID':'123124','name':'oliver','age':18} 2 print(dic.clear())
輸出:
None
刪除鍵值對
1 dic = {'ID':'123124','name':'oliver','age':18} 2 del dic['name'] 3 print(dic)
輸出:
{'age': 18, 'ID': '123124'}
刪除整個字典
1 del dic5 2 print(dic5)
輸出:
name 'dic5' is not defined
刪除鍵值對,並返回該key對應的值
1 dic = {'ID':'123124','name':'oliver','age':18} 2 print(dic.pop('age'))
輸出:
18 {'ID': '123124', 'name': 'oliver'}
隨機刪除鍵值對,並以元組的形式返回刪除的鍵值對
1 a = dic.popitem() 2 print(a,dic)
輸出:
('ID', '123124') {'age': 18, 'name': 'oliver'}
setdefault()
若是字典中存在此key,則不作修改;若是不存在,則添加鍵值。該方法還能夠返回添加的值。
1 dic = {'ID':'123124','name':'oliver','age':18} 2 ret = dic.setdefault('hobby','film') 3 print(dic) 4 print(ret)
輸出:
{'name': 'oliver', 'ID': '123124', 'hobby': 'film', 'age': 18} film
fromkeys()
建立一個新字典。
1 dic6=dict.fromkeys(['host1','host2','host3'],'test') 2 print(dic6)
輸出:
{'host2': 'test', 'host1': 'test', 'host3': 'test'}
sorted()
將字典中的鍵進行排序。
1 dic = {111:'aa',554:'bb',211:'ds',121:'asdf'} 2 print(sorted(dic))
輸出:
[111, 121, 211, 554]
按照鍵對字典進行排序。
1 dic = {111:'aa',554:'bb',211:'ds',121:'asdf'} 2 print(sorted(dic.items()))
輸出:
[(111, 'aa'), (121, 'asdf'), (211, 'ds'), (554, 'bb')]
has_keys()
Python 2中使用has_keys()判斷指定的key在字典中是否存在。存在則返回True。
1 dic={5:'555',2:'666',4:'444'} 2 dic.has_keys(5)
Python 3中的判斷方法:
1 print(5 in dic)
三、字典遍歷
1 dic = {'ID':'123124','name':'oliver','age':18} 2 for i in dic: 3 print(i,dic[i])
輸出:
name oliver age 18 ID 123124