字典是另外一種可變容器模型,且可存儲任意類型對象。字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,字典屬於dict類,格式以下所示:python
info = { "k1": "v1", # 鍵值對 "k2": "v2" # 鍵值對 }
#!/usr/bin/env python info = { "k1": 18, "k2": True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } print(info)
結果:spa
{'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}
#!/usr/bin/env python info ={ 1: 'asdf', "k1": 'asdf', True: "123", # [11,22]: 123 (11,22): 123, # {'k1':'v1'}: 123 } print(info)
結果:code
{1: '123', 'k1': 'asdf', (11, 22): 123}
#!/usr/bin/env python info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } v = info['k3'][5]['kk3'][0] print(v)
結果:對象
11
#!/usr/bin/env python info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } del info['k1'] del info['k3'][5]['kk1'] print(info)
結果:blog
{2: True, 'k3': [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}
#!/usr/bin/env python info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } for item in info: print(item) for item in info.keys(): print(item) for item in info.values(): print(item) for item in info.keys(): print(item,info[item]) for k,v in info.items(): print(k,v) info ={ "k1": 'asdf', True: "123", # [11,22]: 123 (11,22): 123, # {'k1':' v1'}: 123 } print(info)
結果:索引
k1 2 k3 k4 k1 2 k3 k4 18 True [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}] (11, 22, 33, 44) k1 18 2 True k3 [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}] k4 (11, 22, 33, 44) k1 18 2 True k3 [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}] k4 (11, 22, 33, 44) {'k1': 'asdf', True: '123', (11, 22): 123}
根據key去取值,若是沒有key則返回None,也能夠用來表示當要取的key不存在時,用默認的值返回。get
dic ={
"name":'wang',
"age":23
}
v = dic.get('name')
v1=dic.get('age1')
v2=dic.get('age1',100)
print(v,v1,v2)
結果:
wang None 100
dic ={ "name":'wang', "age":23 } dic.pop('name') print(dic) 結果: {'age': 23}
若是key已經存在,不設置值,獲取當前key對應的值it
若是key不存在,設置值,獲取當前key對應的值for循環
dic ={ "name":'wang', "age":23 } v=dic.setdefault('name',"zhang") print(dic,v) dic1 ={ "name":'wang', "age":23 } v1=dic1.setdefault('name1',"zhang") print(dic1,v1) 結果: {'name': 'wang', 'age': 23} wang {'name': 'wang', 'name1': 'zhang', 'age': 23} zhang
dic ={ "name":'wang', "age":23 } v=dic.keys() v1=dic.values() print(v,v1) 結果: dict_keys(['name', 'age']) dict_values(['wang', 23])