字典:
字典是无序的,它不能通过偏移(切片)来存取,只能通过键来存取。键值取完后如果还有类似与列表,字符串之类的可以用切片了比如info[‘a’][1]=15
字典 = {'key':value}key:类似我们现实的钥匙,而value则是锁。一个钥匙开一个锁
特点:
内部没有顺序,通过键来读取内容,可嵌套,方便我们组织多种数据结构,并且可以原地修改里面的内容,
info={'a':[1,2,3],'b':[4,5,6]} 则info[‘a’]=[1,2,3]
info[‘a’][1]=15 则info= {'a': [1, 15, 3], 'b': [4, 5, 6]}
属于可变类型。
组成字典的键必须是不可变的数据类型,比如,数字,字符串,元组等,列表等可变对象不能作为键. 其中info={(1,2,[3,2]):12} 若元组元素中带有列表的话 则也是可变的所以报错
TypeError: unhashable type: 'list'
1 创建字典。{},dict()
info = {'name':'lilei', 'age':20}
info =dict(name='lilei',age=20)
两种方法都可以。
2 添加内容a['xx'] = 'xx' 用的是中括号
info = dict(name='lilei',age=20)
info['phone'] = 'iphone5‘
输出则为{'age': 20, 'name': 'lilei', 'phone': 'iphone5'}
3 修改内容a['xx'] = 'xx' ,
info['phone'] = 'htc'
和添加内容差不多左边是key 右边是value
update 参数是一个字典的类型,他会覆盖相同键的值,并且添加没有的值
info.update({'city':'beijing','phone':'nokia'})
htc 变成了nokia了
4 删除del,clear,pop
del info['phone'] 删除某个元素
del info[]删除的是对这个info的引用 删除以后即没有定义
info.clear()删除字典的全部元素
即输出的只是一个空的字典 {}
info.pop('name')
返回name对应的内容,原来的info关于name的内容被删除了。
字典的pop传入的是key 而列表的pop传入的是下表。但是字典若没有指定参数报错,能传出value 而列表只能报错什么都不传出来
5 in和has_key() 成员关系操作
比如:
1 phone in info 只判断key 而不是value
2 info.has_key('phone') 两种不同的写法 python3中没有
6返回列表
keys(): 返回的是列表,里面包含了字典的所有键
values():返回的是列表,里面包含了字典的所有值
items:生成一个字典的容器:[()]
7get:从字典中获得一个值
info.get('name') get的是key 返回的是key对应的value
info.get('age2','22') 若列表没有的key 且有value 的值 则范围的是value的值