字典:
字典是无序的,它不能通过偏移来存取,只能通过键来存取。
字典 = {'key':value} key:类似我们现实的钥匙,而value则是锁。一个钥匙开一个锁
特点:
内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,并且可以原地修改里面的内容,
属于可变类型。
组成字典的键必须是不可变的数据类型,比如,数字,字符串,元组等,列表等可变对象不能作为键。(显然如果键是可变的话,我们将不能通过键找到相应的值)
使用元组作为键时,要保证元组里的数据是不可变对象
1 创建字典。{},dict()
info = {'name':'lilei', 'age': 20}
info = dict(name='lilei',age=20)
2 添加内容 a['xx'] = 'xx'
比如 info['phone'] = 'iphone5'
3 修改内容 a['xx'] = 'xx' ,
info['phone'] = 'htc'
update 参数是一个字典的类型,他会覆盖相同键的值
info.update({'city':'beijing','phone':'nokia'})
htc 变成了nokia了
注:使用索引修改和添加内容时,有就修改,无则添加;使用update更新内容时一样,就是可以一次操作多个键值对。
4 删除 del,clear,pop
del info['phone'] 删除某个元素
注:del info 是删除info对字典的引用
info.clear() 清空字典,即删除字典的全部元素
info.pop('name')
字典的pop方法:传入键名,返回对应的键值,并将键值对删除。
列表的pop方法:传入索引下标,返回索引下标对应的值,并将该值删除。
进一步对比:
如果索引超出范围或者键不存在,都会抛出错误。字典的pop方法可以设定默认抛出的值,而列表的pop方法不可以设定。
5 in 和 has_key() 成员关系操作
python3中无has_key(),用in替代
6 keys(): 返回的是列表,里面包含了字典的所有键
values():返回的是列表,里面包含了字典的所有值 注意:这里是python2,3会返回一个可迭代的对象
items:生成一个字典的容器:[()] 字典里每个元素都是元组,元组的第一个元素为键名,第二个元素为对应的值
7 get:从字典中获得一个值
传入键名,返回对应的值。
如果传入不存在的键名,则返回一个None Type类型,表面看像返回了空字符串。
可以自己定义不存在的键名时的返回值。
基础篇13-python基本数据结构习题解答
未学习!