99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Python入門之集合-創新互聯

????????????????????????????????????Python入門之集合

創新互聯是專業的岑溪網站建設公司,岑溪接單;提供成都網站設計、做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行岑溪網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

一、什么是集合

? ?除了列表,元組和字典,集合也是Python語言提供的內置數據結構之一,可以把集合看作是沒有存儲value的字典,因此集合的特點如下:

1. 集合中不可以存儲重復的數據;

2. 集合中的數據是無序的;

3. 集合中的數據可以是任何不可變類型,多種類型的數據可以混合存儲在一個集合中;

4. 集合可以根據需要動態的伸縮,也就是說,系統會根據需要動態的分配和回收內存,因此在使用前無須預先聲明集合的容量;

5. 集合會浪費較大的內存,與列表相比是用空間換取了時間;

二、集合的創建

1、使用花括號{}創建集合

s?=?{3,5,8,1,2}
print(s)?#?{1,?2,?3,?5,?8}
s?=?{3,3,6,8,8,9}
print(s)?#?{8,?9,?3,?6}
s?=?{}
print(type(s))?#?<class?'dict'>?不能使用{}創建空集合,創建的為字典

2、使用內置函數set創建集合

s?=?set(range(1,6))?#?{1,?2,?3,?4,?5}
s?=?set([3,5,8,1,2])?#?{1,?2,?3,?5,?8},可以傳入列表
s?=?set((3,5,8,1,2))?#?{1,?2,?3,?5,?8},可以傳入元組
s?=?set({3,5,8,1,2})?#?{1,?2,?3,?5,?8},可以傳入{}集合
s?=?set('35812')?#?{'5',?'8',?'3',?'2',?'1'},傳入的字符串會被分隔開
s?=?set()?#?set()?<class?'set'>?創建空集合

三、集合的增刪查

1、查操作

使用"in" "not in"對列表進行查操作

s1?=?{'a','b','c'}
print('a'?in?s1)?#?True
print('d'?not?in?s1)?#?True

2、增操作

使用add和update方法添加元素

s1?=?{'a','b','c'}
s1.add('d')?#?一次添加一個元素
s1.update('e','f','g')?#?一次添加多個元素
print(s1)??#?{'g',?'f',?'d',?'b',?'c',?'a',?'e'}

3、刪操作

使用pop,remove,discard,clear對集合做刪操作

s1?=?{1,2,3,4,5}
print(s1.pop())??#?1?一次隨機刪除一個元素
s1.remove(3)?#?刪除元素3
print(s1)?#?{2,?4,?5}
s1.discard(2)??#?刪除元素2
print(s1)?#??{4,?5}
s1.clear()?#?清空集合
print(s1)?#?set()

四、集合之間的關系

1、兩個集合是否相等,可以使用運算符== 和 != 進行判斷

s1?=?set([1,2,3,4])
s2?=?set([2,3,4,5])
print(s1?==?s2)?#?False
print(s1?!=?s2)?#?True

2、一個集合是否是另一個集合的子集

#?調用方法issbubset進行判斷
s1?=?{1,2,3,4}
s2?=?{3,4,6}
s3?=?{1,2,3,4,5}
print(s1.issubset(s3))?#?True
print(s2.issubset(s3))?#?False

3、一個集合是否是另一個集合的超集

#??可以調用方法issuperset進行判斷
print(s3.issuperset(s1))?#?True
print(s3.issuperset(s2))?#?False

4、兩個集合是否沒有交集

#?可以調用方法isdisjiont進行判斷
s1?=?{1,3,5,7}
s2?=?{22,11,44}
s3?=?{1,2,3,5,7,8}
print(s1.isdisjoint(s2))?#?True
print(s1.isdisjoint(s3))?#?False

五、集合的數學操作

1、兩個集合的交集

#s1和s2的交集
#使用intersection方法,返回的是兩者的交集
#使用s1.intersection_update(s2)方法,返回值是none,但是會把交集的值賦給s1
s1?=?{1,2,3,4}
s2?=?{3,4}
print(s1.intersection(s2))??#{3,?4}
print(s1?&?s2?)?#{3,?4}
print(s1.intersection_update(s2))??#None
print(s1)??#{3,?4}

2、兩個集合的并集

并集并集,合并的集合,使用union
s1?=?{1,2,3,4,5}
s2?=?{3,4,5}
print(s1.union(s2))?#{1,?2,?3,?4,?5}
print(s1?|?s2?)?#{1,?2,?3,?4,?5}

3、兩個集合的差集

#既找到s1在s2中沒有的元素
#使用difference()方法,找到差集
#使用s1.difference_update(s2)方法,返回的值為None,作用為將差集賦值給s1
s1?=?{1,2,3,4,5,6}
s2?=?{1,7,9,4,10}
print(s1?-?s2?)?#{2,3,5,6}
print(s1.difference(s2))?#{2,3,5,6}
print(s1.difference_update(s2))?#None
print(s1)?#{2,?3,?5,?6}

4、兩個集合的對稱差集

對稱差集,既去掉兩個集合交集的部分
s1?=?{1,3,5,7,9}
s2?=?{2,3,6,7,10}
print(s1?^?s2?)?#{1,?2,?5,?6,?9,?10}
print(s1.symmetric_difference(s2))?#{1,?2,?5,?6,?9,?10}
print(s1.symmetric_difference_update(s2))?#None
print(s1)?#{1,?2,?5,?6,?9,?10}

六、frozenset不可變的集合

frozenset,被凍結的set,也是不可變的set,frozenset置于set就好比tuple置于list

frozenset是不可變類型,存在以下特點:

● 存在哈希值

● 可以作為字典的key

● 可以作為set的元素

#可以調用內置函數frozenset創建
print(frozenset(range(6)))?#?frozenset({0,?1,?2,?3,?4,?5})
print(frozenset([1,2,5,7]))?#?frozenset({1,?2,?5,?7})
print(frozenset(('a','b','c')))?#?frozenset({'a',?'c',?'b'})
print(frozenset('abcdef'))?#?frozenset({'c',?'f',?'e',?'a',?'b',?'d'})

#作為set的元素
s1?=?set(frozenset([1,2,3,4,56,7,8]))
print(s1,type(s1))??#?{1,?2,?3,?4,?7,?8,?56}?<class?'set'>
s1.add(('abc'))
print(s1,type(s1))?{1,?2,?3,?4,?'abc',?7,?8,?56}?<class?'set'>

分享標題:Python入門之集合-創新互聯
本文路徑:http://www.yijiale78.com/article40/cdpjho.html

成都網站建設公司_創新互聯,為您提供軟件開發營銷型網站建設網站維護搜索引擎優化ChatGPT靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司