字典操作
特性:
1.无序的
2.key是唯一的
#!/usr/bin/env python
# -*- coding utf-8 -*-
# Author:qinjiaxi
info = {
'name1' : 'qinlang',
'name2' : 'qinjiaxi',
'name3' : 'zoulingling'
}
#find
info['name1']#取name1对应的value(确定有value才用这个方法)
info.get('name1')#取name1对应的value,有返回,没有返回None
#add
info['name4'] = 'Mary'#增加键值对name4-Mary
#modify
info['name1'] = 'datou'#修改name1对应的value为datou
#del
del info['name1']#指定删除name1键值对
info.pop('name2')#指定删除name1键值对
info.popitem()#随机删除键值对
#判断
'name1' in info#判断name1键是否在info字典中,返回布尔值(python2中的用法是info.has_key('name1'))
#updata
a = {
"name1" : 'hehe',
1 : 2,
3 : 4
}
info.update(a)#更新info字典,将两个合并,如果key重复则更新对应的value(如:name1)
#items
info.items()#把info字典转换成列表,其中列表中每个元组包含一组键值对
#setdefault
info.setdefault('name1', 'hehehe')#在info字典中取name1的值如果存在就返回,如果不存在就赋值'hehehe'
#keys
info.keys()#获取info字典中的键,并以列表方式返回
#values
info.values()#获取info字典中的值,并以列表方式返回
#fromkeys
dict.fromkeys([1,2,3], 'test')#初始化一个字典并且键是1、2、3,对应的值是test
#loop
for i in info:
print(i, info[i])#建议用这个循环效率高
for k,v in info.items():
print(k,v)#这个循环有字典转换为列表的过程效率低
#多级字典嵌套操作
info_q = {
'haha' : {
'lala' : [1,2,3],
'enne' : [4,5,6],
},
'hehe' : {
'aaa' : [7,8,9],
'bbb' : ['a', 'b', 'c'],
}
}