info = {'keys1':'value1',
'keys2':'value2',
'keys3':'value3'}
- dictionary是无序的
- Key必须唯一
- dic也可以多层嵌套
-
catalog = { 'A_Project': {'A_Folder': ['a_class1', 'a_class2'], 'B_Folder': ['b_class1', 'b_class2'], 'C_Folder': ['c_class1', 'c_class2']}, 'B_Project': {'A_Folder': ['a_class1', 'a_class2'], 'B_Folder': ['b_class1', 'b_class2'], 'C_Folder': ['c_class1', 'c_class2']}, 'C_Project': {'A_Folder': ['a_class1', 'a_class2'], 'B_Folder': ['b_class1', 'b_class2'], 'C_Folder': ['c_class1', 'c_class2']} }
- 增
info['keys1']='keys1'
print(info)
=>{'keys1': 'keys1', 'keys2': 'value2', 'keys3': 'value3'}
- 删
info.pop('keys1')
# del info['keys1']
=>{'keys2': 'value2', 'keys3': 'value3'}
- 改
info['keys1'] = 'value1_1'
print(info)
=>{'keys1': 'value1_1', 'keys2': 'value2', 'keys3': 'value3'}
- 查
print('keys1' in info)
print(info.get('keys1'))
info['keys1'] # 当dic中不存在keys1的时候会报错
=>True
- value
print(info.value())
=>dict_values(['value1', 'value2', 'value3'])
- keys
print(info.keys())
=>dict_keys(['keys1', 'keys2', 'keys3'])
- setdefault(set一个值如果字典中不存在则添加,反之不会添加)
info.setdefault('keys4','value4')
print(info)
=>{'keys1': 'value1', 'keys2': 'value2', 'keys3': 'value3', 'keys4': 'value4'}
info.setdefalut('keys3','value1')
print(info)
=>{'keys1': 'value1', 'keys2': 'value2', 'keys3': 'value3', 'keys4': 'value4'}
- update
b = {'keys1':'value_update',
1:3,
2:5}
info.update(b)
print(info)
=>{'keys1': 'value_update', 'keys2': 'value2', 'keys3': 'value3', 1: 3, 2: 5}
- items(dictionary转列表)
print(info.items())
=>dict_items([('keys1', 'value1'), ('keys2', 'value2'), ('keys3', 'value3')])
- fromkeys
c = dict.fromkeys([1,2,3],'test')
print(c)
=>{1: 'test', 2: 'test', 3: 'test'}
c=dict.fromkeys([1,2,3],[1,{'keys1':'value1'},111])
print(c)
=>{1: [1, {'keys1': 'value1'}, 111], 2: [1, {'keys1': 'value1'}, 111], 3: [1, {'keys1': 'value1'}, 111]}
#但是在修改的时候
c[1][1]['keys1'] = 'value2'
=>{1: [1, {'keys1': 'value2'}, 111], 2: [1, {'keys1': 'value2'}, 111], 3: [1, {'keys1': 'value2'}, 111]}
- 循环
#高效
for i in info:
#print(i) #只得到keys
print(i,info[i])
#不建议
for k,v in info.items():
print(k,v)