0x00 简介
字典(dictionary),是无序的,不能通过偏移来存取,只能通过键来读取内容。dic属于可变类型,但是组成字典的键必须是不可变的数据类型,比如数字、字符串、元组等。
语法:dic = {'key':value}
0x01 基本操作
两种定义的方法
>>> ainfo = {'name':'Xiaoming', 'gender':'male'} >>> binfo = dict(name='Xiaoming', gender='male')
嵌套和修改
>>> binfo = {'a' : [1,2,3] , 'b' : [4,5,6]} #字典中嵌套列表 >>> binfo {'a' : [1, 2, 3] , 'b' : [4, 5, 6] }
>>> binfo['a'][2] = 5 #value可在原地修改,属于可变类型 >>> binfo {'a' : [1, 2, 5] , 'b' : [4, 5, 6] }
两种添加的方法
>>> info = {'name':'Xiaoming', 'gender':'male'} >>> info['age'] = 10 #单个添加key和value >>> info {'name':'Xiaoming', 'gender':'male', 'age':10} >>> info = {'name':'Xiaoming', 'gender':'male'} info.update({'age':11, 'city':'Shanghai'}) #若update的key已存在,则会覆盖原value;若key不存在,则是创建 >>> info {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}
三种删除的方法
del
>>>info = {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'} >>>del info['city'] #仅仅删除city这一个key >>>del info #删除info这个dic
clear
>>> a = {'info':'info','age''=22} >>> a.clear()
pop
>>> a = {'name':'Sam','age':22} >>> a.pop('age') #传入需要删除的key,返回value,然后从字典中删除 22 >>> a {'name':'Sam'} >>> a.pop('wealth','The key you want to pop does not exist') #设置一个默认值,当pop的对象不存在时则提示该句话 'The key you want to pop does not exist'
注:列表使用pop方法时,指定的是索引的下标,如a.pop(0);而字典使用pop方法时,指定的是键名。
has_key方法:判断某个键时候包含于字典中
>>>women.has_key('dick') False
以列表的形式单独返回key或者value
>>> info = {'name':'Jerry', 'age'=23} >>> info.keys() ['name','age'] >>> info.values() ['Jerry',23]
items:生成一个字典的容器
>>> info = {'name':'Jerry', 'age'=23} >>> info.items() [('name':'Jerry'),('age':23)]
get:由键名返回值
>>> info = {'name':'Jerry', 'age'=23} >>> info.get('name') 'Jerry' >>> info.get('gender','do not exist') #当get的键名不存在时,返回后面这句话 'do not exist'