|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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()方法,返回指定键对应的值。
|
评分
-
查看全部评分
|