淺談Python 集合(set)類型的操作——并交差
閱讀目錄
•介紹
•基本操作
•函數(shù)操作
介紹
python的set是一個(gè)無序不重復(fù)元素集,基本功能包括關(guān)系測(cè)試和消除重復(fù)元素. 集合對(duì)象還支持并、交、差、對(duì)稱差等。
sets 支持 x in set、 len(set)、和 for x in set。作為一個(gè)無序的集合,sets不記錄元素位置或者插入點(diǎn)。因此,sets不支持 indexing, slicing, 或其它類序列(sequence-like)的操作。
基本操作
>>> x = set("jihite")
>>> y = set(['d', 'i', 'm', 'i', 't', 'e'])
>>> x #把字符串轉(zhuǎn)化為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 #對(duì)稱差:x和y的交集減去并集
set(['d', 'h', 'j', 'm'])
函數(shù)操作
>>> x
set(['i', 'h', 'j', 'e', 't'])
>>> s = set("hi")
>>> s
set(['i', 'h'])
>>> len(x) #長(zhǎng)度
>>> '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) #對(duì)稱差
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) #刪除已有元素,如果沒有會(huì)返回異常
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.remove(2)
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
s.remove(2)
KeyError: 2
>>> s.discard(2) #如果存在元素,就刪除;沒有不報(bào)異常
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.clear() #清除set
>>> s
set([])
>>> x
set(['i', 'h', 'j', 'e', 't'])
>>> x.pop() #隨機(jī)刪除一元素
'i'
>>> x
set(['h', 'j', 'e', 't'])
>>> x.pop()
'h'
以上這篇淺談Python 集合(set)類型的操作——并交差就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python中heapq堆排算法的實(shí)現(xiàn)
這篇文章主要介紹了python中heapq堆排算法的實(shí)現(xiàn),該模塊提供了堆排序算法的實(shí)現(xiàn)。堆是二叉樹,最大堆中父節(jié)點(diǎn)大于或等于兩個(gè)子節(jié)點(diǎn),最小堆父節(jié)點(diǎn)小于或等于兩個(gè)子節(jié)點(diǎn)。下面文章更多詳細(xì)介紹,需要的小伙伴可以參考一下2022-05-05
python采用requests庫模擬登錄和抓取數(shù)據(jù)的簡(jiǎn)單示例
這篇文章主要介紹了python采用requests庫模擬登錄和抓取數(shù)據(jù)的簡(jiǎn)單示例,代碼簡(jiǎn)單卻功能強(qiáng)大!需要的朋友可以參考下2014-07-07
Python爬蟲中Selenium實(shí)現(xiàn)文件上傳
這篇文章主要介紹了Python爬蟲中Selenium實(shí)現(xiàn)文件上傳,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

