日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python—集合

發布時間:2025/3/20 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python—集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

集合set

集合是可變數據類型,集合內的元素必須是不可變數據類型;集合是無序的并且集合內的元素必須是不重復的。

增:

add—向集合內添加數據

set1 = set() #創建一個空的集合set1.add('nero') #向集合內添加數據

update—向集合內迭代添加數據

set1 = set()set1.update('abc') #向集合內迭代添加數據 >>>{'a', 'b', 'c'}

刪:

pop—隨機刪除集合內的一個數據

set1 = {'c5',22,53,'a',44,'b','nero'}set1.pop() #隨機刪除集合內的一個數據 >>>{'c5', 53, 22, 'b', 'a', 'nero'}

remove—刪除指定數據,如該數據不存在則報錯

set1 = {'c5',22,53,'a',44,'b','nero'}set1.remove('nero') #刪除指定數據,如該數據不存在則報錯 >>>{'a', 44, 53, 'c5', 22, 'b'}

clear—清空集合

set1 = {'c5',22,53,'a',44,'b','nero'}set1.clear() #清空集合 >>>set()

del—刪除整個集合

del set1 #刪除整個集合>>>NameError: name 'set1' is not defined

查:

查詢集合內的數據,只能使用for循環

交集(&或intersection)

set1 = {'c5',22,53,'a',44,'b','nero'} set2 = {5,22,53,8,'c5',10,'d3','jason'} set3 = {53,'c5',99,57}print(set1 & set2 & set3) #返回多個集合之間相同的數據 >>>{'c5', 53}print(set1.intersection(set2.intersection(set3))) #等同于& >>>{'c5', 53}

并集(|或union)

set1 = {'c5',22,53,'a',44,'b','nero'} set2 = {5,22,53,8,'c5',10,'d3','jason'} set3 = {53,'c5',99,57}print(set1 | set2 | set3) #將多個集合合并,除去重復數據 >>>{'nero', 'jason', 99, 'd3', 5, 8, 10, 44, 'c5', 53, 'a', 22, 'b', 57}print(set1.union(set2.union(set3))) #等同于| >>>{'b', 'nero', 5, 8, 10, 22, 'c5', 99, 'jason', 44, 'a', 53, 'd3', 57}

反交集(^或symmetric_difference)

set1 = {'c5',22,53,'a',44,'b','nero'} set2 = {5,22,53,8,'c5',10,'d3','jason'}print(set1 ^ set2) #去除兩個集合內都有的數據后,進行合并,多次反交集運算應注意運算規則,如三個集合反交集,set3內與set1、set2都有的數據還會加入到最終的結果中print(set1.symmetric_difference(set2)) #等同于 ^ >>>{5, 'jason', 8, 10, 'd3', 44, 'b', 'a', 'nero'}

差集

set1 = {'c5',22,53,'a',44,'b','nero'} set2 = {5,22,53,8,'c5',10,'d3','jason'}print(set1 - set2) # == set1-(兩個集合都有的數據),set1并不會與set2的數據合并 >>>{'b', 'nero', 44, 'a'}

子集與超集

#子集 set1 = {'c5',22,53} set2 = {5,22,53,8,'c5',10,'d3','jason'}print(set1 < set2) #判斷set1是否為set2的子集,也就是判斷set2中是否包含了set1所有的數據,返回布爾值 >>>Trueprint(set1.issubset(set2)) #等同于 <#超集 print(set2 > set1) #判斷set2是否為set1的超集,返回布爾值 >>>Trueprint(set2.issuperset(set1)) #等同于 >

不可變集合

set4 = frozenset('hello nero') #創建名為set4的不可變集合,并迭代添加數據到集合內,去重print(set4) >>>frozenset({'o', 'e', 'l', ' ', 'r', 'h', 'n'})lis1 = [0,1,1,1,0,2,3,3,4,4,5,5,6,6,8,8] set4 = frozenset(lis1) #將列表轉換成不可變集合set4 lis = list(set4) #再將不可變集合轉換成列表,這個列表已經去除了重復數據 print(set4) >>>frozenset({0, 1, 2, 3, 4, 5, 6, 8}) print(lis) >>>[0, 1, 2, 3, 4, 5, 6, 8]

枚舉

lis1 = [1,2,3,4]for index,vlaue in enumerate(lis1): #enumerate同時返回元素的索引和元素,可設置索引,默認位置是0print(index,vlaue) >>> 0 1 1 2 2 3 3 4 for index,vlaue in enumerate('hello nero',1):print(index,vlaue) >>> 1 h 2 e 3 l 4 l 5 o 6 7 n 8 e 9 r 10 o

?

轉載于:https://www.cnblogs.com/NeroCl/p/8086620.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Python—集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。