马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
知识点:
- 如果在序列中试图为一个不存在的位置赋值,会报错。如果在字典中,字典会自动创建相应的键并添加对应的值进去。
- dict(),严格来说不是函数,而是一个工厂函数(类型),调用它会生成该类型的一个实例。类似于str()、int()、list()、tuple()都属于工厂函数。
字典的内建方法(dict.内建函数):
1)fromkeys(sep[,value]):
#用于建立一个新字典,以序列sep(序列)中元素做字典的键,value为所有键对应的初始值。
参数:sep--字典键值列表。value--可选参数,设置所有键的初始值,如果不设置初始值为None。
返回值:返回创建的字典字典。
例:
1)>>> s = 1,2,3
>>> a = dict.fromkeys(s) #只有一个键参数,所以键对应的值为None。
>>> a
{1: None, 2: None, 3: None}
2)>>> s = 1,2,3
>>> a = dict.fromkeys(s,98) #设置两个参数,所有键对应的值都为98.
>>> a
{1: 98, 2: 98, 3: 98}
访问字典的几个方法:
1)keys():
#用于以列表的方式返回字典所有的键。
参数:无
值:以列表的方式返回一个字典所有的键。
例:>>> d = dict.fromkeys(range(5),"鲤鱼")
>>> for i in d.keys():
print(i)
0
1
2
3
4
2)values():
#用于以列表的方式返回字典所有的值。
参数:无
返回值:以列表的方式返回一个字典所有的值。
例:>>> d = dict.fromkeys(range(5),"鲤鱼")
>>>for i in d.values():
print(i)
鲤鱼
鲤鱼
鲤鱼
鲤鱼
鲤鱼
3)items():
#用于返回字典中的(键,值)元组。
参数:无
返回值:返回可遍历的(键,值)元组。
例:>>> d = dict.fromkeys(range(5),"鲤鱼")
>>> for i in d.items():
print(i)
(0, '鲤鱼')
(1, '鲤鱼')
(2, '鲤鱼')
(3, '鲤鱼')
(4, '鲤鱼')
4)get(key,default = None):
#用于返回指定键的值,如果值不在字典中返回默认值(默认值为None)。
参数:key -- 字典中要查找的键。 default -- 如果指定键的值不存在时,返回默认值。
返回值:返回指定键的值,如果值不再字典中返回默认值None。
例:>>> d = dict.fromkeys(range(5),"鲤鱼")
>>> d.get(3)
'鲤鱼'
>>> print(d.get(6)) #指定键不存在,返回默认值None。
None
5)in(成员资格运算符)
在字典中检查键的成员资格比序列更加高效,当数据规模相当大的时候两者的差距会很明显。
#用于检查指定的键是否存在字典中。
参数:要查找的键。
返回值:如果键在字典中返回True,否则返回False。
例:>>> d = dict.fromkeys(range(3),"鲤鱼")
>>> 0 in d
True
6)clear()
#用于清空字典中所有的元素。
参数:无
返回值:无返回值
例:>>> a = dict(((1,"一"),(2,"二")))
>>> b = a
>>> a.clear() #如果用a = {}的方法,不会真正的清除a指向的数据。b的值不会改变。
>>> a
{}
>>> b
{}
7)copy() 浅拷贝函数
#返回一个字典的浅复制。
参数:无
返回值:返回一个字典的浅复制。
例:>>> a = dict(((1,"一"),(2,"二")))
>>> b = a.copy()
>>> c = a #用直接赋值的方式,原字典改变,赋值后的字典会跟着改变。
>>> a[1] = "壹"
>>> a
{1: '壹', 2: '二'}
>>> b
{1: '一', 2: '二'}
>>> c
{1: '壹', 2: '二'}
8)pop()
#类似于列表的pop()函数,只不过在字典中使用可以选择要弹出的键。
参数:要弹出对象的键。
返回值:键对应的值。
例:>>> a = dict(((1,"一"),(2,"二")))
>>> a.pop(1)
一
9)popitem()
#与pop()函数类似,只不过是随机的弹出键值对。
参数:无
返回值:键值对。
例:>>> a = dict(((1,"一"),(2,"二")))
>>> a.popitem
(1, '一')
10)setdefault()
#与get()函数类似,如果键不存在与字典中,将会添加键,并将值设为默认值。
参数:
key -- 查找的键值。
default -- 键不存在时,设置的默认值键值。
返回值:返回键对应的值。
例:>>> a = dict(((1,"一"),(2,"二")))
>>> a.setdefault(1) #参数为字典中有的元素,返回对应的值
'一'
>>> a.setdefault(3) #返回了default的默认值None。
>>> a.setdefault(4,"四") #返回了设置的值‘四’。
'四'
>>> a
{1: '一', 2: '二', 3: None, 4: '四'} #元素成功添加。
11)update()
#利用一个字典或者一个映射关系去更新一个字典。
参数:另一个字典或者一个映射关系。
返回值:返回一个新的字典。
例:
1)用另一个字典去更新>>> a = {1: '一', 2: '二', 3: None, 4: '四', 5: None}
>>> b = {6:"狗"}
>>> a.update(b)
>>> a
{1: '一', 2: '二', 3: None, 4: '四', 5: None, 6: '狗'}
2)用一个映射关系更新>>> b = ((2,"er"),(3,"san"))
>>> a.update(b)
>>> a
{1: '一', 2: 'er', 3: 'san', 4: '四', 5: None, 6: '狗'}
总结一下字典的增删改查:
增:
1.>>> dict1 = {} #新建一个空的字典。
>>> dict1[0] = "0" #添加新的键值对。
>>> dict1
{0: '0'}
2.setdefault()方法。
3.update()方法,用另一个字典或映射关系去更新字典。
删:
1.删除单一元素
1)>>> del dict1[0] #方括号中放要删除的键的名称。
>>> dict1
{}
2)pop()方法,弹出指定的值。
3)popitem()方法,随机弹出值。
2.删除整个字典
1) >>> dict1.clear() #clear()方法只能将字典中的所有键值对删除。
>>> dict1
{} #此时dict1依然可以访问。
2) >>> del dict1 #使用关键字del 加字典名的方法来实现对字典的彻底删除。
>>> dict1 #此时访问字典会报错。
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
dict1
NameError: name 'dict1' is not defined
改:>>> dict1 = {0:"0",1:"0"} #创建一个字典。
>>> dict1[1] = "1" #将1所对应的值修改为“1”。
>>> dict1 #查看修改后的字典。
{0: '0', 1: '1'}
查:
1.>>> dict1[0] #直接在方括号中输入键名,就可以查看到对应的值。
'0'
2.keys()方法,以列表的形式查看字典中所有的键。
3.values()方法,以列表的形式查看字典中所有的值。
4.items()方法,以元组的方式查看字典中所有的键值对。
5.get()方法,返回字典中参数所对应的值。
6.setdefault()方法,返回指定键对应的值。
|