目录
一、创建
字典中存放的是映射关系,key-value。
'name':'xiaow' , 'age' : '23'
其中key的值必须是不可变对象,例如:数字,字符串,元组。
1.1 直接创建
d = {'name':'xiaow' , 'age' : '23'}
1.2 使用dict()初始化
d = dict(name = 'xiaow' ,age = 23)
用 k = v 方法初始化时,k 默认是字符串。
1.3 列表是元组的集合,且元组均为两个元素。
lst = [('name','xiaow'),('age',23)]
d = dict(lst)
二、字典是可变对象
不可变对象:数字,字符串,元组
可变对象:列表,字典
三、一般对字典进行操作是对key值进行操作
比如:in,del 方法等等
四、读取方法
4.1 直接读取的方法
4.1.1 d ['key']
d = {'name':'xiaow','age':23}
print(d['name'])
输出:
xiaow
当不存在该key值时,报错
d = {'name':'xiaow','age':23}
print(d['gander'])
输出:
KeyError: 'gander'
4.1.2 d.get('key')
d = {'name':'xiaow','age':23}
print(d.get('name'))
输出:
xiaow
当不存在该key值时,返回None。
d = {'name':'xiaow','age':23}
print(d.get('gander'))
输出:
None
可添加参数使返回值为参数值。但是字典没有被修改。
d = {'name':'xiaow','age':23}
print(d.get('gander','male'))
print(d)
输出:
male
{'name': 'xiaow', 'age': 23}
4.2 setfault()
查询,若字典中存在key值,返回。存在参数也不会进行插入或修改操作
如果字典中没有,会将将key=None插入字典。None可通过参数修改。
d = {'name':'xiaow','age':23}
print(d.setdefault('name','xioap'))
输出:
xiaow
无参,默认插入None
d = {'name':'xiaow','age':23}
print(d.setdefault('gander'))
print(d)
输出:
None
{'name': 'xiaow', 'age': 23, 'gander': None}
有参,value值为参数值
d = {'name':'xiaow','age':23}
print(d.setdefault('gander','male'))
print(d)
输出:
male
{'name': 'xiaow', 'age': 23, 'gander': 'male'}
五、增加字典中的键值对 update()
5.1 直接传入键值对
以元组嵌套列表的方式传参,键值对放在元组里
d = {'name':'xiaow','age':23}
d.update([('grand','male')])
print(d)
输出:
{'name': 'xiaow', 'age': 23, 'grand': 'male'}
可以是多组
d = {'name':'xiaow','age':23}
d.update([('grand','male'),('state','学习')])
print(d)
输出:
{'name': 'xiaow', 'age': 23, 'grand': 'male', 'state': '学习'}
5.2 将其他字典作为参数添加到本字典中
d = {'name':'xiaow','age':23}
d1 = dict([('grand','male'),('state','学习')])
d.update(d1)
print(d)
输出:
{'name': 'xiaow', 'age': 23, 'grand': 'male', 'state': '学习'}
六、删除
6.1 del
del [key] :删除对应的key-value,不返回值。
d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
del d['state']
print(d)
输出:
{'name': 'xiaow', 'age': 23, 'grand': 'male'}
6.2 pop
dict.pop(key)删除key,并返回value。若key不在字典中,报错。
d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
d.pop('state')
print(d)
输出:
{'name': 'xiaow', 'age': 23, 'grand': 'male'}
dict.pop(key,value) 删除key,若key不在字典中,返回value。
d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
print(d.pop('st','字典中不存在该key'))
输出:
字典中不存在该key
6.3 popitem
d.popitem() 删除字典中最后一个K-V,并返回k-v值。
python 3.6版本以后 字典是有顺序的。
d = {'name':'xiaow','age':23,'grand':'male','state':'学习'}
print(d.popitem())
输出:
('state', '学习')