閱讀目錄
?介紹
?基本操作
?函數操作
介紹
python的set是一個無序不重復元素集,基本功能包括關系測試和消除重復元素. 集合對象還支持并、交、差、對稱差等。
sets 支持 x in set、 len(set)、和 for x in set。作為一個無序的集合,sets不記錄元素位置或者插入點。因此,sets不支持 indexing, slicing, 或其它類序列(sequence-like)的操作。
基本操作
>>> x = set("jihite") >>> y = set(['d', 'i', 'm', 'i', 't', 'e']) >>> x #把字符串轉化為set,去重了 set(['i', 'h', 'j', 'e', 't']) >>> y set(['i', 'e', 'm', 'd', 't']) >>> x & y #交 set(['i', 'e', 't']) >>> x | y #并 set(['e', 'd', 'i', 'h', 'j', 'm', 't']) >>> x - y #差 set(['h', 'j']) >>> y - x set(['m', 'd']) >>> x ^ y #對稱差:x和y的交集減去并集 set(['d', 'h', 'j', 'm'])
函數操作
?
>>> x set(['i', 'h', 'j', 'e', 't']) >>> s = set("hi") >>> s set(['i', 'h']) >>> len(x) #長度 >>> 'i' in x True >>> s.issubset(x) #s是否為x的子集 True >>> y set(['i', 'e', 'm', 'd', 't']) >>> x.union(y) #交 set(['e', 'd', 'i', 'h', 'j', 'm', 't']) >>> x.intersection(y) #并 set(['i', 'e', 't']) >>> x.difference(y) #差 set(['h', 'j']) >>> x.symmetric_difference(y) #對稱差 set(['d', 'h', 'j', 'm']) >>> s.update(x) #更新s,加上x中的元素 >>> s set(['e', 't', 'i', 'h', 'j']) >>> s.add(1) #增加元素 >>> s set([1, 'e', 't', 'i', 'h', 'j']) >>> s.remove(1) #刪除已有元素,如果沒有會返回異常 >>> s set(['e', 't', 'i', 'h', 'j']) >>> s.remove(2) Traceback (most recent call last): File "", line 1, in s.remove(2) KeyError: 2 >>> s.discard(2) #如果存在元素,就刪除;沒有不報異常 >>> s set(['e', 't', 'i', 'h', 'j']) >>> s.clear() #清除set >>> s set([]) >>> x set(['i', 'h', 'j', 'e', 't']) >>> x.pop() #隨機刪除一元素 'i' >>> x set(['h', 'j', 'e', 't']) >>> x.pop() 'h'
以上這篇淺談Python 集合(set)類型的操作――并交差就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
