只知道python嗎?你熟練嗎?set的用法你會嗎?

python提供了常用的數據結構,其中之一就是set,python中的set是不支持索引的、值不能重複、無需插入的容器。

只知道python嗎?你熟練嗎?set的用法你會嗎?


簡單記錄下set常用的操作函數:

1.新建一個set:

set("Hello"),這樣會轉成單個字符的值進行插入,結果是'H','e','l','o','l'因為重複只能插入一次。

2.增加一個元素:

add()用於增加一個元素值,

update([]),用於增加多個元素值,參數為list,注意如果用add增加多個值,會報參數類型錯誤。

3.刪除一個元素:

remove()用於刪除一個set中的元素,這個值在set中必須存在,如果不存在的話,會引發KeyError錯誤。

discard()用於刪除一個set中的元素,這個值不必一定存在,不存在的情況下刪除也不會觸發錯誤。

4.隨機刪除函數:

set提供了一個pop()函數,這個函數隨機返回一個元素值,然後把這個值刪除,如果set為空,調用這個函數會返回Key錯誤。

5.清空函數:

clear(),將set全部清空。

6.測試單個元素在集合內是否存在:

in 或者 not in 如果需要判斷一個值在集合內是否存在,in就能滿足要求,例如2 in set_num 如果存在則返回True,否則返回False。

7.測試兩個集合是否包含,子集操作:

issubset和issuperset,

s1.issubset(s2) :測試是否 s1 中的每一個元素都在 s2 中,運算符操作為 s1

s2.issuperset(s1) :測試是否 s1 中的每一個元素都在 s2 中,運算符操作為 s1>=s2;//注意是s2調用,參數為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開發工程師,

整理了一套最新的python系統學習教程,

想要這些資料的可以關注私信小編“01”即可(免費分享哦)希望能對你有所幫助

正在學習python的小夥伴或者打算學習的,可以私信小編“01”領取資料!


分享到:


相關文章: