Python学习笔记四--字典与集合
字典是Python中唯一的映射类型。所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列。字典是可变类型。字典中的数据是无序排列的。
4.1.1字典的创建及赋值
dict1={} dict2={‘name‘:John,‘age‘:24}
使用dict()函数创建字典。
dict()函数接受序列,或关键字参数作为参数创建字典。若不提供参数则创建空字典。
dict1=dict([[‘x‘,1],[‘y‘,2]])#接受list作为参数创建字典 dict2=dict(x=1.y=2)#接受关键字参数作为参数
使用内建方法fromkeys()来创建一个“默认字典”,该字典中的键均对应相同的值,如果值未给出则为None。
dict1={}.fromkeys((‘x‘,‘y‘),1) dict1 >>>{‘y‘:1,‘x‘:1}
4.1.2字典中值得访问
通过字典中的键访问值。
info={‘name‘:‘bing‘,‘age‘:24,‘sex‘:‘male‘} info[‘name‘] >>>‘bing‘
Python中默认通过访问键来获取值。
info={‘name‘:‘bing‘,‘age‘:24,‘sex‘:‘male‘} for key in info: print ‘key=%s,value=%s‘%(key,info[key]) >>> key=‘age‘,value=‘24‘ key=‘name‘,value=‘bing‘ key=‘sex‘,value=‘male‘
4.1.3更新字典
对字典的更新包括以下操作,增加一个“键-值”对,删除字典元素,清除字典中所有或个别条目,修改某个元素的值。下面举例说明。
info={‘name‘:‘bing‘,‘age‘:24,‘sex‘:‘male‘} info[‘name‘]=‘xiaobing‘#更新已有条目 info[‘addr‘]=‘lanzhou‘#增加新条目
对字典的删除一般指删除某个“键-值”对,删除整个字典会用到del语句。
del info[‘name‘] #删除dict中键为name的条目 info.clear() #清空字典所有条目 del info #删除整个字典 info.pop(‘name’)#返回并删除键为name的条目
4.2.1映射类型的操作符
1、字典查找操作符:[]
使用方法dict[k]=n,将n赋值给dict中键为k的条目;dict[k],访问dict中键为k的条目。
2、成员关系操作符:(in,not in)
dict1={‘name‘:‘bing‘,‘age‘:24,‘sex‘:‘male‘} ‘name‘ in dict1 >>>True ‘phone‘in dict1 >>>False
需要注意的是in和not in仅作为检查某个键是否在字典中。
4.3.1相关函数
1、dict(),用来创建字典,前面说过不再赘述。
2、len(),返回字典长度,即字典中的“键-值”对个数
3、hash(),判断某个对象是否可以做字典的键。讲一个对象传递给hash(),会返回这个对象的哈希值,只有这个对象是可哈希的才可以作为字典的键。
4.4.1字典的内建方法
下面会提到字典的一些内建方法,其余的请在有需要是查阅文档。
1、dict.keys(),返回一个列表包含字典中的所有键。
2、dict.values(),返回一个列表包含字典中的所有值。
3、dict.items(),返回一个由(键,值)元组作为元素的列表。
4、dict.clear(),删除字典中所有元素。
5、dict.copy(),返回字典的一个副本(浅复制)。
6、dict.update(dict2),将字典dict2的键-值对添加到dict。
4.5.1对字典中键的一些说明
1、键不允许一对多,类似映射中两个集合的对应关系。
2、键必须是可哈希的,所有不可变类型都是可哈希的故可作为键,可变类型不可哈希即不可作为键,如列表,字典类型。
4.6集合数据类型
数学上把集合称作不同元素的集合,集合(set)成员被称为集合元素。集合对象是一组无需可哈希的值。集合支持 in,not in 检查操作符,用len得到集合大小(元素个数),但集合无法创建索引因为集合是无需排列。集合有不同两种类型,可变集合(set)和不可变集合(frozenset)。
4.6.1集合的创建
集合只能通过它的工厂方法创建
s=set(‘python‘) s >>>set([‘y‘,‘o‘,‘n‘,‘t‘,‘p‘,‘h‘]) type(s) >>> <type,‘set‘>
4.6.2集合元素的操作
可以遍历查看集合元素
s=set(‘python‘) p in s >>>True x in s >>>False for i in s print i >>> y o n t p h
通过集合的内建方法和操作符增加或删除集合元素:
1、set.add(),向集合添加新元素
2、set.update(),集合的合并
3、set.remove(),删除集合中元素
4.7集合成员关系操作
对于集合真正重要的是成员关系及子集的关系操作。
1、成员关系in,not in。
判断一个元素是否在一个集合中,返回True 或者False。
2、等价与不等价==,!=
集合等价指两个集合中每个元素都相同
3、真子集与子集(<,<=)
4、并集
符号|或者union()方法。
5、交集
符号&或者等价方法intersection()
6、差集
符号-或者等价方法difference()
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。