字典的形式
形式:dict = {'key':value}
key:键(可以理解为代号)
value:值(代号所指代的内容)
字典的特点:
1、字典是**无序**的,它不能通过偏移来存取,只能**通过键来存取**。
2、可以嵌套
3、可变数据类型,可以在原地修改里面的内容。
4、组成字典的**键**必须是**不可变**的数据类型,比如,数字,字符串,元组等;列表等可变对象不能作为键。
**特别注意:如果是元组作为key时,元组里面的内容也必须是不可变的数据类型!**
字典的使用方法:
1、创建字典。
(1) {}
info = {'name':'lilei', 'age': 20}
(2) dict()
info = dict(name='lilei',age=20)
(3) dict(iterable)
eg:a = (('a','aa'),('b','bb'))
dict(a) --- > {'a':'aa','b':'bb'}
还有另外一种表达方式:
a = (('a','aa'),('b','bb'))
b = {}
for k, v in a:
d[k] = v
2、添加内容
a['xx'] = 'xx'
eg:
a['c'] = 'cc'
print a ----> {'a':'aa','b':'bb','c':'cc'}
3、修改内容
(1)a['xx'] = 'xx' ,
(2)update()
参数是一个字典的类型,他会覆盖相同键的值
a.update({'c':'ccc','d':'dd'})
4、删除内容
(1)del:
del a['a'] (del(a['a']))删除某个元素
del a 删除整个字典
(2)clear a.clear() **清空**整个字典(字典仍然存在)
(3)pop a.pop('a') 弹出k为'a'的的值,并且在字典中删除这个元素。
比较list和dict中pop()用法的区别:
a: list中pop()内的参数可以省略,省略后默认从最后一个元素开始,而dict中的参数不可以省略。
b: list 中参数是下标,dict中的参数是key值
c: 当没有要pop的值时,listdict都会抛出异常。但是dict,可以会返回一个自定义的内容。dict.pop('d',"没有d值")
5、in 和 has_key() 成员关系操作
(1)in \ not in
(2)has_key() dict.has_key(key)
6、几个常用的方法:
keys(): 返回的是列表,里面包含了字典的所有键
values():返回的是列表,里面包含了字典的所有值
items():生成一个字典的容器list:[()]
get():从字典中获得一个值
dict.get(key)
如果字典中没有这个值,返回一个空字符串(实际上返回一个nonetype类型),也可以在后面加上一个参数,就有返回值了。
dict.get(key,str)
eg:
a = {2:'two',1:'one'}
for x,y in a.items():
print x,y ----> 2 two
1 one
key_list = a.keys()
key_list.sort()
for x in key_list:
print x,a[x] -----1 one
2 two