版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
视频教程入门到精通Python开发宝满教育培训出品目录01字典及集合02有关内置函数01字典及集合字典的创建格式:
字典是键值对形式{key:value},由键值(key(哈希值):value)构成,类似于关联数组或哈希表.key
一般以数字和字符串居多,值则可以是任意(类比perl语言中的散列),通过大括号的方式以键值对形式创建。
创建字典:
mydict={1:'a',2:'b'}
工厂方式创建字典: mydict=dict(([1,'a'],[2,'b']))
字典内建方法fromkeys()创建字典(字典中的元素具有相同的值,如果没给出,值默认为空): mydict={}.fromkeys((1,2),'a')
同时还可以这样:批量创建key值:缺点就在于没有办法单独分配value值 mylist=[1,2,3,4,5] mydict=dict.fromkeys(mylist,'a')字典是以key和value形式存在,key值经过hash算法,在内存映射一块保存value值得区域,key值在经过hash算法之后,会生成一个唯一的值,任意两个数哪怕只有一位不同,生成出来的hash值也是截然不同的,因此我们得出,在字典中,key值唯一,一个字典中不可能出现两个一样的key,并且,因为做了hash,所以底层会维护一个hash表,也就是说字典的访问效率,要比列表和元组要高。key值,因为要做hash,所以,一些不可变数据无法当作字典的key值,比如列表,字典。但是不可变元素,比如数字,字符串,元组可以当作字典的key值访问字典中的值:
求出所有的key值: mydict={1:'a',2:'b'} print(mydict.keys())
求出所有的value值: mydict={1:'a',2:'b'} print(mydict.values())这里要注意,我们得到的字典返回的值是一个一个字典值或是字典key的数据类型,我们要在细致的去处理,可以使用工厂函数,list,tuple把结果转换成我们想要的数据类型
访问对应的key得到value:
mydict={1:'a',2:'b'} print(mydict[1])
如果我们访问一个字典中没有的key,那么会出现一个keyerror的错误。在python中,我们访问一个字典中没有的key,可以使用in还有notinin:如果在字典中,那么返回True,不在字典中,则返回False
mydict={1:'a',2:'b'} 1inmydict
迭代访问字典,获取其中的key值,
mydict={1:'a',2:'b'} forkeyinmydict: print(key,mydict[key])更新字典中的值: mydict=dict(([1,'a'],[2,'b'])) mydict[1]='c'删除字典中的值: mydict=dict(([1,'a'],[2,'b'])) delmydict[1]还可以通过内置函数pop来删除一个元素并把值返回出来: mydict=dict(([1,'a'],[2,'b'])) value=mydict.pop(1)清空字典: mydict.clear()集合(set):把不同的元素组成一起形成集合,是python基本的数据类型。(无序不重复)集合元素(setelements):组成集合的成员集合使用大括号{}创建,以及工厂函数set创建一个集合set(可变),frozenset(不可变,可hash的集合) mylist=[1,2,3,4,5] myset=frozenset(mylist)访问集合:
集合是无序的,无法通过索引和切片的方式去访问其中的值。
可通过循环迭代: mylist=[1,2,3,4,5] forvarinset(mylist):
print(var)集合的内部结构和dict很类似,但是不存储value。判断一个元素是否在集合中非常快。更新集合: myset.add() myset.update()如果传入的是一个序列,将被拆分成单个元素,并且去掉重复。
可变集合支持以上操作,但是不可变集合不支持该操作。删除集合中的元素或者是这个集合: myset.remove(var) delmyset集合类型操作符: in和notin操作符判断某个元素是否在一个集合中
判断两个集合是否相等,两个集合中的成员一模一样。 子集和超集:(严格判断) python使用: a<b a是否是b的子集 a.issubset(b) a>b a是否是b的超集a.issuperset(b) #超集就代表着a中的元素中弄囊括了所有b的集合元素交并补联合:(|)(union())
a|ba.union(b)在a集合中和b集合去重数据元素,剩下的组合到一起返回一个新的集合交集:(&)(intersection)
a&ersection(b)在a集合和b集合中,共同含有的集合成员组成到一起返回一个新的集合差补:(-)(difference)
a-ba.difference(b)在a集合中,去掉所有与b集合中相同的元素,只在a中保留b中没有的集合成员对称差分:(^)(symmetric_difference)找出两个集合中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常州机电职业技术学院档案分类方案
- 186红色喜庆国潮古建筑背景的中秋灯谜会模板 2
- 电气车间备品备件计划管理规定培训课件
- 临时用电施工焊接机械安全管理规范培训
- 20201112初一数学(人教版)解一元一次方程(二)(4)-3学习任务单
- 2026年广西国际商务职业技术学院单招综合素质考试题库及答案详解(网校专用)
- 2026年广东省佛山市单招职业倾向性考试题库附参考答案详解(模拟题)
- 2026年广东金融学院单招综合素质考试题库有答案详解
- 2026年平凉职业技术学院单招综合素质考试题库含答案详解(精练)
- 2026年广东茂名幼儿师范专科学校单招职业适应性考试题库附答案详解(轻巧夺冠)
- 农贸市场营销策划方案
- 【可行性报告】2023年高纯氮化铝粉体行业项目可行性分析报告
- 随机过程十四布朗运动
- 营养支持讲课最终课件
- 出口海运工厂集装箱货物绑扎加固指南
- 电动机检修作业指导书
- TS30测量机器人Geocom中文说明书
- 化工厂监控系统解决方案
- GB/T 3565.1-2022自行车安全要求第1部分:术语和定义
- GB/T 3452.4-2020液压气动用O形橡胶密封圈第4部分:抗挤压环(挡环)
- GB/T 15382-2021气瓶阀通用技术要求
评论
0/150
提交评论