1.1.5字典

来源:互联网 发布:淘宝如何设置限购 编辑:程序博客网 时间:2024/06/03 23:31

字典:

 

字典是无序的,它不能通过偏移(切片)来存取,只能通过键来存取。键值取完后如果还有类似与列表,字符串之类的可以用切片了比如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 inhas_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的值