首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python字典全套操作详解(二)

东尧爱分享

这是东尧每天一篇文章的第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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421G0HQ9M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券