Python——Dict

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
相關文章
相關標籤/搜索