Python系列:字典的使用
【摘要】 python系列第六课
今天就带着大家开始我们——Python学习的第二课,Python数据类型之字典的介绍。
1. 创建字典的5种方式
1.1 用{}创建字典
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> print(a)
{'name': '陈丽', 'age': 18, 'job': 'teacher'}
-----------------------------------------------------------
>>> b = {'name':'陈丽','age':18,'job':['teacher','wife']}
>>> print(b)
{'name': '陈丽', 'age': 18, 'job': ['teacher', 'wife']}
1.2 用 dict 创建字典
>>> c = dict(name='张伟',age=19)
>>> print(c)
{'name': '张伟', 'age': 19}
----------------------------------------------
>>> d = dict([('name','李丽'),('age',18)])
>>> print(d)
{'name': '李丽', 'age': 18}
1.3 用 zip 函数创建字典
>>> x = ['name','age','job']
>>> y = ['陈丽','18','teacher']
>>> e = dict(zip(x,y))
>>> print(e)
{'name': '陈丽', 'age': '18', 'job': 'teacher'}
1.4 用{},dict 创建空字典
>>> f = {}
>>> print(f)41
{}
-----------------------
>>> g = dict()
>>> print(g)
{}
1.5 用 fromkeys 创建’值为空’的字典
>>> h = dict.fromkeys(['name','age','job'])
>>> print(h)
{'name': None, 'age': None, 'job': None}
2. 访问字典元素的4种方式
2.1 通过“ 键” 获取“ 值” 。若“ 键” 不存在,则抛出异常
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> a['name']
'陈丽'
>>> a['age']
18
>>> a['job']
'teacher'
#若键不存在,抛出异常。
>>> a['names']
Traceback (most recent call last):
File "<pyshell#197>", line 1, in <module>
a['names']
KeyError: 'names'
2.2 get()方法:强烈推荐的字典元素访问
优点: 若’键’不存在,返回的是 None,而不是抛出异常。还可以设定,当’键’不存在时,自己设定默认的返回对象。42
>>> b = {'name':'陈丽','age':18,'job':['teacher','wife','sister']}
>>> b.get('name')
'陈丽'
#若'键'不存在,返回的是 None,而不是抛出异常。
>>> b.get('sex')
>>> b.get('sex') == None
True
>>> if b.get('sex') == None:
print('我爱你')
我爱你
#当'键'不存在时,自己设定默认的返回对象。
>>> b.get('sex','不存在')
'不存在
2.3 用 items 获取‘ 所有的键值对’
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> a.items()
dict_items([('name', '陈丽'), ('age', 18), ('job', 'teacher')])
>>> type(a.items())
<class 'dict_items'>
>>> for i in a.items():
print(i)
('name', '陈丽')
('age', 18)
('job', 'teacher')
2.4 列出所得有‘ 键’ : keys,列出所得有‘ 值’ : values
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> a.keys()
dict_keys(['name', 'age', 'job'])43
>>> a.values()
dict_values(['陈丽', 18, 'teacher'])
3. 添加字典元素的2种方式
3.1 “ 键” 存在,则覆盖原有“ 键值对” 。 “ 键” 不存在,新增键值对
格式:字典[‘键’]:‘值’ 。
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> a['job'] = 'sister' #覆盖原有“ 键值对”
>>> print(a)
{'name': '陈丽', 'age': 18, 'job': 'sister'}
>>> a['height'] = 170 #新增“ 键值对”
>>> print(a)
{'name': '陈丽', 'age': 18, 'job': 'sister', 'height': 170}
3.2 使用 update 把 b 字典的所有‘ 键值对’ 添加到 a 字典中
格式: a.undate(b), 若果‘ 键值对重复’ ,直接覆盖;否则,合并。
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> a
{'name': '陈丽', 'age': 18, 'job': 'teacher'}
>>> b = dict([('job','Python'),('weight',75),('height',170)])
>>> b
{'job': 'Python', 'weight': 75, 'height': 170}
>>> a.update(b)
>>> a
{'name': '陈丽', 'age': 18, 'job': 'Python', 'weight': 75, 'height': 170}
4. 删除字典元素的4种方式
4.1 del 方法:删除指定的“ 键值对”
注: 一旦删除‘ 键’ 和‘ 值’ 就消失了。
>>> a = {'name':'陈丽','age':18,'job':'teacher'}
>>> del(a['job'])
>>> print(a)
{'name': '陈丽', 'age': 18}
4.2 clear 方法:删除字典中所有的‘ 键值对’
注: 删除所有的, 有点狠。
>>> b = dict([('job','Python'),('weight',75),('height',170)])
>>> b
{'job': 'Python', 'weight': 75, 'height': 170}
>>> b.clear()
>>> b
{}
4.3 pop 方法:删除指定的‘ 键’
优点: “ 键” 删除后, 可以用一个“ 变量” 接收返回的“ 值” 。
>>> c = {'name':'黄伟','age':18,'job':'teacher'}
>>> cc = c.pop('name')
>>> cc
'黄伟'
>>> c
{'age': 18, 'job': 'teacher'}
4.4 popitem 方法:随机删除和返回‘ 键值对’
注: 字典是无序可变序列,没有第一个元素、最后一个元素的概念
>>> b = {'name':'陈丽','age':18,'job':['teacher','wife']}
>>> bb = b.popitem()
>>> print(bb)
('job', ['teacher', 'wife'])
>>> bbb = b.popitem()45
>>> print(bbb)
('age', 18)
>>> bbbb = b.popitem()
>>> print(bbbb)
('name', '陈丽')
>>> bbbbb = b.popitem()
>>> print(bbbbb)
Traceback (most recent call last):
File "<pyshell#296>", line 1, in <module>
bbbbb = b.popitem();print(bbbbb)
KeyError: 'popitem(): dictionary is empty
5. 序列解包:运用于字典(类似于赋值)
5.1 利用 items:把‘ 键值对’ 赋给 b,c,d,e,f…
>>> a = {'name1':'陈丽','name2':'黄伟','name3':'阿亮','name4':'荣哥'}
>>> b,c,d,e = a.items()
>>> b,c
(('name1', '陈丽'), ('name2', '黄伟'))
5.2 利用 keys:把‘ 键’ 赋给 g,h,i,j,k…
>>> a = {'name1':'陈丽','name2':'黄伟','name3':'阿亮','name4':'荣哥'}
>>> g,h,i,j = a.keys()
>>> g,h
('name1', 'name2')
5.3 利用 values:把‘ 键’ 赋给 l,m,n,o,p…
>>> a = {'name1':'陈丽','name2':'黄伟','name3':'阿亮','name4':'荣哥'}
>>> l,m,n,o = a.values()
>>> l,m
('陈丽', '黄伟)
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)