字典和集合
一.字典的创建和访问
1.字典的创建
字典是Python中常用的一种数据存储结构,它是由“键-值”对组成,每个“键-值”对称为一个元素,每个元素表示一种映射或对应关系。 “键”可以是Python中任意不可变数据,如整数、实数、复数、字符串、元组等类型,但不能使用列表、集合、字典或其他可变类型作为字典的“键”。 “值”可以取任意数据类型。
2.直接赋值创建字典
直接赋值创建字典的一般格式如下:
变量名 = {键1:值1, 键2:值2, 键3:值3,…}
字典中元素打印出来的顺序与创建时的顺序不一定相同,这是因为字典中各个元素并没有前后顺序。
3.内置函数dict()创建字典
还可以用内置函数dict()通过其他“字典”、“(键,值)”对的序列或关键字参数来创建。
4.zip()函数
zip()函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的zip对象。
5.使用fromkeys()方法创建字典
在Python中,当所有键对应同一个值时,可使用fromkeys()方法创建字典。
dict.fromkeys(seq[,value])
seq为字典“键”值列表 value为设置键序列(seq)的值,省略时默认为None
6.字典的创建
字典中的“键”是唯一的,创建字典时若出现“键”相同的情况,则后定义的“键-值”对将覆盖先定义的“键-值”对。
二.字典的访问
1.根据键访问值
字典中的每个元素表示一种映射关系,将提供的“键”作为下标可以访问对应的“值”,如果字典中不存在这个“键”则会抛出异常。其语法格式如下:
字典变量名[键]
2.使用get()方法访问值
在访问字典时,若不确定字典中是否有某个键,可通过get()方法进行获取,若该键存在,则返回其对应的值,若不存在,则返回默认值。其语法格式如下:
dict.get(key[,default=None])
dict为被访问字典名 key是要查找的键 default定义默认值,如果指定键的值不存在,返回该默认值,当default为空时,返回None
三.字典的基本操作
1.修改和添加元素
当以指定“键”为下标为字典元素赋值时,有两种含义: (1)若该“键”在字典中存在,则表示修改该“键”对应的值; (2)若该“键”不存在,则表示添加一个新的“键-值”对,也就是添加一个新元素到字典中。
2.删除元素
要删除字典中的元素或整个字典,可以使用del命令、clear()、pop()和popitem()方法。
-
del命令:可根据“键”删除字典中的元素。
-
clear()方法:用于清除字典中的所有元素。
dict.clear()
dict为要被清空的字典名 该方法不包含任何参数,也没有返回值
-
pop()方法:用于获取指定“键”的值,并将这个“键-值”对从字典中移除。
dict.pop(key[,default])
dict为要被删除元素的字典名 key是要被删除的键 default是默认值,当字典中没有要被删除的key时,该方法返回指定的默认值
-
popitem()方法:用于随机获取一个“键-值”对,并将其删除。
dict.popitem()
dict为要被删除元素的字典名 该方法无参数,返回值为一个随机的“键-值”对
3.更新字典
update()方法:可以将新字典的“键-值”对一次性全部添加到当前字典中,如果两个字典中存在相同的“键”,则以新字典中的“值”为准更新当前字典。
dict.update(dict2)
dict为当前字典 dict2为新字典
4.复制字典
复制字典可调用copy()方法,copy()方法返回字典的浅复制。
dict.copy()
dict为需要复制的字典 该方法无参数,返回值为一个新字典
5.遍历字典中所有的“键-值”对
遍历字典中所有的“键-值”对需要用到items()方法,该方法以列表形式返回可遍历的“(键,值)”元组。
dict.items()
6.遍历字典中的所有键
当不需要使用字典中的值时,可使用keys()方法只遍历字典中的键,该方法以列表返回一个字典中所有的键
dict.keys()
7.遍历字典中的所有值
当只关心字典所包含的值时,可使用values()方法,该方法以列表形式返回字典中所有的值。
dict.values()