PYTHON-基本数据类型-元祖类型,字典类型,集合类型

内容:    1. 元组    2. 字典    3. 集合===========================元祖类型什么是元组: 元组就是一个不可变的列表======================================基本使用======================================一、用途: 用于存放多个值,当存放的多个值只有读的需求没有改的需求时用元组最合适二、定义方式:在()内用逗号分隔开多个任意类型的值t=(1,3.1,'aaa',(1,2,3),['a','b']) # t=tuple(...)三、经常使用操做+内置的方法优先掌握的操做:一、按索引取值(正向取+反向取):只能取,不能改二、切片(顾头不顾尾,步长)三、长度四、成员运算in和not in五、循环======================================该类型总结====================================存多个值有序不可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash)掌握的方法index 查找,找不到会报错 (x.index('a'))count计数 (x.count(''a))-----------------------------------字典类型======================================基本使用======================================一、用途: 用来存方多个(不一样种类的)值二、定义方式: 在{}内用逗号分隔开多个key:value的元素,其中value能够是任意数据类型,而key的功能一般是用来描述value的,因此key一般是字符串类型,但其实key必须是不可变的类型(int\float\str\tuple)三、经常使用操做+内置的方法优先掌握的操做:一、按key存取值:可存可取二、长度len三、成员运算in和not in四、删除#pop 有返回值,popitem随机删除 (x.popitem())五、键keys(),值values(),键值对items()print(list(d.keys()))print(list(d.values()))print(list(d.items()))六、循环======================================该类型总结====================================存多个值无序可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash须要掌握的操做get方法 (x.get('a'))update方法,新增和覆盖 (x.update({}))fromkeys:需求是快速新造出一个字典,value的初始值全都为None,而key是来自于一个列表keys=['name','age','sex']d={}.fromkeys(keys,None)print(d)setdefault   新key会新增,老key返回原值(x.setdefault('a',1))---------------------------------------集合类型1. 什么是集合    在{}内用逗号分隔开多个值,集合的特色:            1. 每一个值必须是不可变类型            2. 集合无序            3. 集合内元素不能重复2. 为什么要用集合    1. 用于作关系运算    2. 去重3. 如何用集合一,集合的第一大用途: 关系运算pythons={'egon练习','张铁蛋','李铜蛋','赵银弹','王金蛋','艾里克斯'}linuxs={'欧德博爱','李铜蛋','艾里克斯','lsb','ysb','wsb'}1 求同时报名两门课程的学生姓名:交集 &print(pythons & linuxs)2 求报名老男孩学校课程的全部学生姓名:并集 |print(pythons | linuxs)3 求只报名python课程的学生姓名: 差集 -print(pythons - linuxs) #求只报名pythons课程的学生姓名4 求没有同时报名两门课程的学生姓名: 对称差集 ^print((pythons - linuxs) | (linuxs - pythons))print(pythons ^ linuxs)5 父子集:指的是一种包含与被包含的关系状况一:s1={1,2,3}s2={1,2}print(s1 > s2) #>号表明s1是包含s2的,称之为s1为s2的父集状况二:s1={1,2,3}s2={1,2,3}print(s1 == s2) #s1若是等于s2,也能够称为s1是s2的父集合综上:s1 >= s2 就能够称为s1是s2的父集二,集合的第二大用途:去重集合去重的局限性:1. 会打乱原值的顺序2. 只能针对不可变的值去重stus=['egon练习','lxx','lxx','alex','alex','yxx']new_l=list(set(stus))print(new_l)old_l=[1,[1,2],[1,2]]print(set(old_l))集合里面不能放字典/列表l=[    {'name':'egon练习','age':18,'sex':'male'},    {'name':'alex','age':73,'sex':'male'},    {'name':'egon练习','age':20,'sex':'female'},    {'name':'egon练习','age':18,'sex':'male'},    {'name':'egon练习','age':18,'sex':'male'},]new_l=[]for dic in l:    if dic not in new_l:        new_l.append(dic)print(new_l)须要掌握的操做:update 更新  (x.update(1))add 添加 (x.add({1}))pop 随机删除 (x.pop)remove 删除选定的值,如值不存在,会报错 (x.remove)discard 删除选定的元素,如值不存在,不会报错 (x.discard)isdisjoint  判断,两个set没有关联则为True  (x.isdisjoint(y))======================================该类型总结====================================存多个值无序set可变(一、可变:值变,id不变。可变==不可hash 二、不可变:值变,id就变。不可变==可hash
相关文章
相关标签/搜索