Python编程基础(第3版)(微课版)课件 3.4 创建字典并进行增、删、改、查等操作.pptx
创建字典并进行增、删、改、查等操作;;字典中的每个元素都具有与之对应且唯一的键,元素就是键所对应的值,键与值共同构成一个映射关系,即键→值,每个键都可以映射到相应的值。
键和值的这种映射关系在Python中具体表示为键:值(key:value),键和值之间用冒号隔开,这里将其称为“键值对”,字典中会包含多组键值对。
字典中的键必须使用不可变数据类型的对象,例如数字、字符串、元组等,并且键是不允许重复的;而值则可以是任意类型的,且在字典中可以重复。;;将字典中的一系列键和值按键值对的格式传入花括号中,并用逗号将各键值对隔开,即可实现字典的创建,具体格式如下。;1.使用花括号创建字典;可以使用dict函数创建字典。Python中dict函数的作用主要是将包含双值子序列的序列对象转换为字典类型,其中各双值子序列中的第1个元素作为字典的键,第2个元素作为键对应的值,即双值子序列中包含键值对信息。
还可以直接向dict函数传入键和值创建字典,其中,键和值应通过“=”隔开。这种创建方式不允许键重复,否则会返回错误。具体格式如下。;#使用dict函数转换列表对象为字典对象
mydict1=dict([(myint,1),(myfloat,3.1415),(mystr,name),
...(myint,100),(mytuple,(1,2,3)),(mydict,{})])
print(mydict1)
{myint:100,myfloat:3.1415,mystr:name,mytuple:(1,2,3),mydict:{}}
mydict2=dict(zero=0,one=1,two=2)#使用dict函数创建字典
print(mydict2)
{zero:0,one:1,two:2}
empty_dict=dict()#创建空字典
print(empty_dict)
{};;与序列类型数据结构不同,字典作为映射类型数据结构,并没有索引的概念,也不支持切片操作等处理方法,字典中只有键和值之间的映射关系,因此对字典元素的提取主要是利用这种映射关系来实现的。
通过在字典对象后紧跟方括号,在方括号中包含指定的键即可提取相应的值,具体使用格式为dict[key],即字典[键]。传入的???要存在于字典中,否则会返回一个错误。提取字典元素的示例如下。;在传入键之前,测试字典中是否存在要传入的键,如果不存在,就不进行提取操作。
这种功能具体可以使用in关键字来实现,示例代码如下。;字典方法get()能够灵活地处理元素的提取,无论键是否存在,向get()方法传入需要的键和一个代替值即可。
若只传入键,当键存在于字典中时,get()方法会返回对应的值;当键不存在时,get()方法会返回None。具体应用示例如下。;;在Python的内置数据结构当中,列表和字典是最为灵活的数据结构。类似于列表,字典也属于可变数据结构,因此字典也含有丰富且功能强大的方法和函数。
与列表一样,字典中也有copy()方法,其作用是复制字典内容并创建一个副本对象。由于上述字典处理会直接作用在字典对象上,而且各种处理方式包含多种方法。;利用字典元素提取方法传入一个新的键,并对这个新键进行赋值操作,即dict[newkey]=new_value,字典中就会产生新的键值对。这种赋值操作可能会因为键不存在而出现错误,示例代码如下。;字典方法update()能将两个字典进行合并,传入字典中的键值对会被复制并增添到调用此方法的字典对象中。如果两个字典中存在相同的键,那么传入字典中的键所对应的值会替换掉调用update()方法的字典对象中的原有值,从而实现值更新的效果,示例代码如下。;使用del语句删除字典元素的具体格式为deldict[key],应用示例如下。;向pop()方法传入需要删除的元素的键,将会返回对应的值,并在字典当中删除相应的键值对。若将返回的结果赋值给变量,则相当于从字典当中抽离出值,示例如下。;clear()方法可以删除字典中的所有元素,最终返回一个空字典,代码如下。;要修改字典中的某个元素,同样可以使用键访问赋值实现,其格式为dict[key]=new_value。
赋值操作在字典中的使用非常灵活,无论键是否存在于字典中,所赋予的新值都会覆盖或增添到字典中。具体应用示例如下。;在实际应用当中,往往需要查询某个键或值是否存在于字典当中,除了可以使用提取字典元素的方法进行查询外,还可以使用Python中的in关键字进行查询。字典的方法中有3种方法可以用于获取键值信息。
(1)keys():用于获取字典中的所有键。
(2