东尧爱分享
这是东尧每天一篇文章的第14天
东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福。
昨天我们讲到了字典的创建,那么创建好以后还有很多操作是必备的,例如增删改查等基础操作。今天东尧将为大家分享的就是字典的一些相关操作。
1
字典相关操作(增删改查)
访问字典中的值
直接访问:字典中的值都是通过键名来直接访问的:
dict1 = {'name': 'brooks', 'age': 18, 'score': 99.9, 'fav': 'program'}
>>> dict1['name']
get:使用内键方法get来访问,get方法接收两个参数,第一个是键名,第二个是默认值。默认值的意思就是说,假如键名不存在,就返回默认值, 默认值是None。
>>> dict1.get('name')
'brooks'
>>> dict1.get('haha') # 不存在,返回默认值None
None
>>> dict1.get("what", "hehe") # 不存在,返回自定义的默认值hehe
"hehe"
for循环:环通过for循环来访问字典中的元素,for循环默认迭代的是字典中的键(key)
dict1 = {'name':'b','age':18,'score':99.9,'fav':'program'}
for key in dict1:
print(dict1[key])
结果:
b
18
99.9
program
items:可以使用字典的内置方法items或iteritems方法来得到一个有键值对组成的双元素元组的列表或迭代器再通过for循环遍历。items返回的是一个列表,如果字典比较大,那么就会比较占用内存空间。
dict1 = {'name':'b','age':18,'score':99.9,'fav':'program'}
for key, val in dict1.items():
print(key, val)
结果:
name b
age 18
score 99.9
fav program
iteritems返回的是一个迭代器,迭代器是懒惰的,用到的时候才会生成,因此更节省内存。
修改字典中的值
修改字典中的值也是通过键名来修改的:
dict1 = {'name': 'brooks', 'age': 18, 'score': 99.9, 'fav': 'program'}
dict1['name'] = 'jonny'
给字典添加新元素
直接添加:当给字典一个不存在的键名赋值时,字典就会自动的创建对应的键名并把值给它:
dict1 = {'name': 'brooks', 'age': 18, 'score': 99.9, 'fav': 'program'}
>>> dict1['name']
结果:
{'name': 'brooks', 'age': 18, 'score': 99.9, 'fav': 'program', 'salary': 10000}
update:将另一个字典中的元素添加进来。因为键名是唯一的,所以如果有重复的键名,会用新添加的键值替换掉相同键名原来的键值。
dict1 = {'name':'b','age':18,'score':99.9,'fav':'program'}
dict2 =
dict1.update(dict2)
print(dict1)
结果:
{'name': 'b', 'age': 18, 'score': 99.9, 'fav': 'program', 1: 'a', 2: 'b'}
删除字典中的元素和字典
# 删除指定键名的元素
dict1 = {'name': 'brooks', 'age': 18, 'score': 99.9, 'fav': 'program'}
# 把键名为age的元素删除
del dict1['age']
# 把键名为name的元素删除并返回它的值
dict1.pop('name')
# 清空整个字典(删除字典里面的所有元素)
dict1.clear()
# 删除字典
del dict1
查询字典中是否存在某个键
in, not in:使用成员操作符(in, not in)查询字典中是否存在某个键名
dict1 = {'name': 'brooks', 'age': 18, 'score': 99.9, 'fav': 'program'}
>>> 'name' in dict1
True
>>> 'name' not in dict1
False
has_key:使用has_key函数来查询字典中是否存在某个键名
>>> dict1.has_key('age')
True
>>> dict1.has_key(123)
False
领取专属 10元无门槛券
私享最新 技术干货