python全棧開發-Day5 集合,python-day5集合
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子集