內容: 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