python全栈开发-Day5 集合详解编程语言

一、首先按照以下几个点展开对集合的学习

#一:基本使用

  1 、用途

  2 、定义方式

  3 、常用操作+内置的方法

#二:该类型总结

  1、 存一个值or存多个值 只能存一个值 可以存多个值,值都可以是什么类型

  2 、有序or无序

  3 、可变or不可变 !!!可变:值变,id不变。可变==不可hash !!!不可变:值变,id就变。不可变==可hash

二、集合

#作用:去重,关系运算,

# 知识点回顾 可变类型是不可hash类型 不可变类型是可hash类型

#定义集合:

   集合:可以包含多个元素,用逗号分割,

   集合的元素遵循三个原则:

  1:每个元素必须是不可变类型(可hash,可作为字典的key)

  2:   没有重复的元素

  3:无序

  注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

#优先掌握的操作:

  #1、长度len

  #2、成员运算in和not in

  #3、&交集

1 stus_linux={'alex','egon','张全蛋','李铁蛋','oldboy'} 
2 stus_python={'李二丫','wxx','liudehua','alex','egon'} 
3  
4 #既报名linux又报名python的学生:交集 
5 print(stus_linux & stus_python) 
6 print(stus_linux.intersection(stus_python)) 
7  
8 #  值都是   {'alex', 'egon'}

  #4、|合集

1 stus_linux={'alex','egon','张全蛋','李铁蛋','oldboy'} 
2 stus_python={'李二丫','wxx','liudehua','alex','egon'} 
3  
4 #所有的学生:并集 
5 print(stus_linux | stus_python) 
6 print(stus_linux.union(stus_python)) 
7  
8 #值都是 
9 #{'oldboy', 'egon', 'liudehua', '张全蛋', '李二丫', 'wxx', 'alex', '李铁蛋'}

  #5、-差集

 1 stus_linux={'alex','egon','张全蛋','李铁蛋','oldboy'} 
 2 stus_python={'李二丫','wxx','liudehua','alex','egon'} 
 3  
 4 #只报名linux,没有报名python的:差集 
 5 print(stus_linux - stus_python) 
 6 print(stus_linux.difference(stus_python)) 
 7  
 8 #值为 {'oldboy', '李铁蛋', '张全蛋'} 
 9  
10  
11 #只报名python,没有报名linux的:差集 
12 print(stus_python -  stus_linux) 
13 print(stus_python.difference(stus_linux)) 
14  
15 #值为{'liudehua', '李二丫', 'wxx'}

  #6、^对称差集

1 stus_linux={'alex','egon','张全蛋','李铁蛋','oldboy'} 
2 stus_python={'李二丫','wxx','liudehua','alex','egon'} 
3  
4 # 没有同时报名两门课程的学生姓名:交叉补集 
5 print(stus_linux ^ stus_python) 
6 print(stus_linux.symmetric_difference(stus_python)) 
7  
8  
9 #值都为 {'李铁蛋', '李二丫', 'oldboy', 'liudehua', '张全蛋', 'wxx'}

  #7、查看

1 s1={1,'a','b','c','d'} 
2  
3 for item in s1: 
4     print(item) 
5  
6 #值的排序是随机的是上面五个元素的随机排序

  #8、增加

 1 s1={'a','b','c'} 
 2 s1.add('d') # 一次添加一个值 
 3 s1.add(4) 
 4 print(s1) 
 5   
 6 #值为{'a','b','c','d'} 
 7 s1.update({3,4,5}) #一次添加多个值 
 8 print(s1) 
 9  
10 #值为{'a','b','c','d',3,4,5}   这里元素的顺序都是随机的

  #9、删除

 1 s1={'a','b','c'} 
 2 #s1.discard() ## 当删除的元素不存在的时候,不会报错 
 3 s1.discard(4) 
 4 print(s1)            #值为{'a','b','c'} 
 5  
 6 #s1.remove() # 当删除的元素不存在的时候,报错 
 7 s1.remove(4)     #报错 
 8  
 9 s1.pop() #随机取走一个元素 
10 res=s1.pop() 
11 print(res)       #值是随机的

  #10、父集,子集:

1 #父集:爹包含儿子 
2 # s1={1,2,3} 
3 # s2={1,2} 
4 s1 > s2# 代表s1包含s2,s1是s2父集 
5 s2 < s1 # s2是s1子集

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/12229.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论