Python set常用操作函數(shù)集錦
定義
set是一個無序且不重復的元素集合。
集合對象是一組無序排列的可哈希的值,集合成員可以做字典中的鍵。集合支持用in和not in操作符檢查成員,由len()內建函數(shù)得到集合的基數(shù)(大小), 用 for 循環(huán)迭代集合的成員。但是因為集合本身是無序的,不可以為集合創(chuàng)建索引或執(zhí)行切片(slice)操作,也沒有鍵(keys)可用來獲取集合中元素的值。
set和dict一樣,只是沒有value,相當于dict的key集合,由于dict的key是不重復的,且key是不可變對象因此set也有如下特性:
- 不重復
- 元素為不可變對象
python提供了常用的數(shù)據(jù)結構,其中之一就是set,python中的set是不支持索引的、值不能重復、無需插入的容器。
簡單記錄下set常用的操作函數(shù):
1.新建一個set:
set("Hello"),這樣會轉成單個字符的值進行插入,結果是'H','e','l','o','l'因為重復只能插入一次。
2.增加一個元素:
add()用于增加一個元素值,
update([]),用于增加多個元素值,參數(shù)為list,注意如果用add增加多個值,會報參數(shù)類型錯誤。
3.刪除一個元素:
remove()用于刪除一個set中的元素,這個值在set中必須存在,如果不存在的話,會引發(fā)KeyError錯誤。
discard()用于刪除一個set中的元素,這個值不必一定存在,不存在的情況下刪除也不會觸發(fā)錯誤。
4.隨機刪除函數(shù):
set提供了一個pop()函數(shù),這個函數(shù)隨機返回一個元素值,然后把這個值刪除,如果set為空,調用這個函數(shù)會返回Key錯誤。
5.清空函數(shù):
clear(),將set全部清空。
6.測試單個元素在集合內是否存在:
in 或者 not in 如果需要判斷一個值在集合內是否存在,in就能滿足要求,例如2 in set_num 如果存在則返回True,否則返回False。
7.測試兩個集合是否包含,子集操作:
issubset和issuperset,
s1.issubset(s2) :測試是否 s1 中的每一個元素都在 s2 中,運算符操作為 s1<=s2;
s2.issuperset(s1) :測試是否 s1 中的每一個元素都在 s2 中,運算符操作為 s1>=s2;//注意是s2調用,參數(shù)為s1.
8.集合的并集:
union s1.union(s2) :返回一個新集合,新集合包含s1,s2的所有元素,等價的運算符為 | 。
9.集合的交集:
intersection,s1.intersection(s2),返回s1和s2中相同部分
10.其他操作:
s1.difference(s2):包含s1中有,但是s2沒有的元素的集合。
s1symmetric_difference(s2):包含s1和s2中不相同的元素的集合。
總結
以上所述是小編給大家介紹的Python set常用操作函數(shù)集錦,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
python中dir()與__dict__屬性的區(qū)別淺析
這篇文章主要給大家介紹了關于python中dir()與__dict__屬性的區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-12-12Python浮點數(shù)取整、格式化和NaN處理的操作方法
這篇文章主要介紹了Python浮點數(shù)取整、格式化和NaN處理的操作方法,本文較詳細介紹了取整的三種方法,格式化浮點數(shù)輸出的示例代碼詳解,感興趣的朋友跟隨小編一起看看吧2022-05-05