Python教学课程分享5-字典

5.1  字典创建与使用

5.1.1  字典的创建与删除

字典是由多个键及其对应的值构成的对组成的(一般把键/值对称为项)。字典里的每个键/(key/value)对用冒号(:)分割,每个项之间用逗号(,)分割,整个字典包括在花括号({})中。空字典(不包括任何项)由两个大括号组成,如{}需要注意的是,在创建字典时,不允许同一个键出现两次,如果在创建时同一个键被赋值两次,则系统只会将后面出现的值赋给这个键并进行记录,然后将前面的值忽略掉。键必须是不可变的,可以用数字、字符串或者元组充当,但是不可以用列表充当键。字典的创建格式如下:

l d={key1:value1,key2:value2}

 

还可以通过dict()函数利用其他映射(比如其他序列)或者键/值序列对来建立字典。通过dict()函数创建字典的指令格式示例如下:

>>> Kee = [('name','kee')('sex','girl')]

>>> student = dict(Kee)

 

也可以利用dict()函数通过关键字创建字典,此种创建方法的语法示例如下:

>>> Kee = dict(name = 'kee',sex = 'girl')

 

如果想要对字典中的项进行删除,可以利用del命令,del命令不仅可以删除字典中的某个项,还可以删除整个字典,当删除字典之后就不能对字典进行访问了,此时访问系统就会报变量没有定义的错误。此命令的语法格式如下:

>>> Kee = {'awei': '1001', 'xiaohao': '1002', 'dashi': '1003', 'dabo': '1004'}

>>> del Kee['dabo'] #删除Kee字典中的'dabo'

>>> del Kee #删除字典Kee

 

5.1.2  访问元素值

这里介绍使用下标运算符访问元素值的用法。字典中的每个元素表示一种映射关系或对应关系,根据提供的“键”作为下标就可以访问对应的“值”。如果字典中不存在这个“键”则会抛出异常。此种方法的命令格式示例如下:

>>> Kee = {'awei': '1001', 'xiaohao': '1002', 'dashi': '1003', 'dabo': '1004'}

>>> Kee['awei'] #指定键存在,返回对应的值

'1001'

>>> Kee['awe'] #指定键不存在,抛出异常

Traceback (most recent call last):

File”<pyshell#26>”,line 1,in <module>

Kee['aew']

KeyError:'awe'

>>> assert'awe' in Kee,'Key”awe” not in dict

Traceback (most recent call last):

File”<pyshell#44>”,line 1,in <module>

assert'awe' in Kee,'Key”awe” not in dict

AssertionError:Key “awe” not in dict

 

为了避免程序运行时引发异常而导致程序崩溃,在使用下标的方式进行访问字典元素时,最好能配合条件判断或者异常处理,例如:

>>> Kee = {'awei': '1001', 'xiaohao': '1002', 'dashi': '1003', 'dabo': '1004'}

>>> if'awe' in Kee

print(Kee['awe'])

>>> else

print('Not Exists')

 

Not Exists

>>> try #使用异常处理结构

print('Kee['awe']')

>>> except

print('Not Exists')

 

Not Exists

 

5.1.3  添加元素、修改元素值

修改字典,向字典中添加新内容的方法是增加新键/值对,修改已有键/值对。可以利用赋值符号等号(=)来对字典进行添加元素,修改元素值得操作。示例代码如下:

>>> student = {'awei':'1001','xiaohao':'1002','dashi':'1003'}

>>> student['dashi']='1005'

>>> print('dashi的学号是: %(dashi)s' % student)

dashi的学号是:1005

>>> student['dabo']='1006'

>>> print('dabo的学号是: %(dabo)s' % student)

dabo的学号是:1006

 

5.2  字典方法

5.2.1  get()

get()方法用来返回指定键对应的值,这个方法允许指定键不存在时返回特定的“值”。它的使用方法示例如下:

>>> student = {'awei':'1001','xiaohao':'1002','dashi':'1003'}

>>> student.get('awei')

'1001'

>>> student.get('awe''Not Exists')

Not Exists

5.2.2  items()、keys()、values()

在字典中,itmes()函数的功能是以列表返回可遍历的(键,值)元组数组。它的使用方式示例如下:

>>> student = {'awei':'1001','xiaohao':'1002','dashi':'1003'}

>>> print(“字典值为:%s”%student.items())

字典值为:[('awei','1001'),('xiaohao','1002'),('dashi','1003')]

>>> for key,values in student.items(): #遍历字典

print(key,values)

awei 1001

xiaohao 1002

dashi 1003

 

keys()函数的功能是以列表的形式返回一个字典的所有键。它的指令格式示例如下:

>>> Kee = {'name':'kim','age':'21'}

>>> print(“Keys : %s” % Kee.keys())

Keys : ['age','name']

 

values()函数的功能是以列表的形式返回字典中的所有值。它的指令格式示例如下:

>>> Kee = {'name':'kim','age':'21'}

>>> print(“Value : %s” % Kee.keys())

Value : ['21','kim']

 

5.2.3  pop()、popitem()

如果想要对字典中的键进行删除操作,除了借助del命令进行操作,还可以利用字典对象中的pop()方法和popitem()方法弹出并删除字典内指定的键,这两种的使用方式示例如下:

>>> Kee = {'awei': '1001', 'xiaohao': '1002', 'dashi': '1003', 'dabo': '1004'}

>>> Kee.popitem() #弹出一个元素,对空字典会抛出异常

('awei''1001')

>>> Kee.pop('xiaohao') #弹出指定键对应的元素

'1002'

>>> print(Kee)

{'dashi': '1003', 'dabo': '1004'}

posted @ 2019-06-10 14:22  伊嬛  阅读(219)  评论(0编辑  收藏  举报