Python基础:dictionary
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'

浙公网安备 33010602011771号