python中set常用操作

高洛峰
發布: 2017-03-01 14:00:53
原創
1613 人瀏覽過

python的set和其他語言類似, 是一個無序不重複元素集, 基本功能包括關係測試和消除重複元素. 集合對像也支援union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數學運算

sets 支援x in set, len(set),和for x in set。作為一個無序的集合,sets不記錄元素位置或插入點。因此,sets不支援 indexing, slicing, 或其它類別序列(sequence-like)的操作。

下面我們透過幾個例子,來簡單說明下

常用操作1

#
In [2]: a = set() 
 
In [3]: a
Out[3]: set()
 
In [4]: type(a)
Out[4]: set
 
In [5]: b = set([1, 3])
 
In [6]: b
Out[6]: {1, 3}
 
In [7]: type(b)
Out[7]: set
 
In [8]: b.update(2)
---------------------------------------------------------------------------
TypeError                 Traceback (most recent call last)
<ipython-input-8-d51e2fe4c50a> in <module>()
----> 1 b.update(2)
 
TypeError: &#39;int&#39; object is not iterable
 
In [9]: b.update({2})
 
In [10]: b
Out[10]: {1, 2, 3}
 
In [11]: b.update([4])
 
In [12]: b
Out[12]: {1, 2, 3, 4}
 
In [13]: a.di
a.difference     a.difference_update a.discard
 
In [13]: a.dif
a.difference     a.difference_update
 
In [13]: a.difference(b)
Out[13]: set()
 
In [14]: a
Out[14]: set()
 
In [15]: b.difference(a)
Out[15]: {1, 2, 3, 4}
 
In [16]:
登入後複製

##常用操作2

In [16]: a.add({1, 3})
---------------------------------------------------------------------------
TypeError                 Traceback (most recent call last)
<ipython-input-16-98cdf4d0875e> in <module>()
----> 1 a.add({1, 3})
 
TypeError: unhashable type: &#39;set&#39;
 
In [17]: a.add(4)
 
In [18]: a
Out[18]: {4}
 
In [19]: a.issu
a.issubset  a.issuperset
 
In [19]: a.issubset(b)
Out[19]: True
 
In [20]: a.remove(4)
 
In [21]: a
Out[21]: set()
 
In [22]: a.union(b)
Out[22]: {1, 2, 3, 4}
 
In [23]: a
Out[23]: set()
 
In [24]: b
Out[24]: {1, 2, 3, 4}
 
In [25]: b.pop()
Out[25]: 1
 
In [26]: a.copy(b)
---------------------------------------------------------------------------
TypeError                 Traceback (most recent call last)
<ipython-input-26-9e8a5f057ffd> in <module>()
----> 1 a.copy(b)
 
TypeError: copy() takes no arguments (1 given)
 
In [27]: a.copy()
Out[27]: set()
 
In [28]: c = a.copy()
 
In [29]: c
Out[29]: set()
 
In [30]: a
Out[30]: set()
 
In [31]: a.add({234})
---------------------------------------------------------------------------
TypeError                 Traceback (most recent call last)
<ipython-input-31-6073e02d68a9> in <module>()
----> 1 a.add({234})
 
TypeError: unhashable type: &#39;set&#39;
 
In [32]: a.add(234)
 
In [33]: c
Out[33]: set()
 
In [34]: a
Out[34]: {234}
登入後複製

常用操作3

#

In [35]: a.clear()
 
In [36]: a
Out[36]: set()
 
In [39]: a = {1}
 
In [40]: b = {1, 2}
 
In [41]: a.intersection(b)
Out[41]: {1}
 
In [43]: a
Out[43]: {1}
 
In [44]: b = {1, 2, 3}
 
In [45]: a.union(b)
Out[45]: {1, 2, 3}
 
In [45]: a.union(b)
Out[45]: {1, 2, 3}
 
In [46]: a & b
Out[46]: {1}
 
In [47]: a ^ b
Out[47]: {2, 3}
 
In [48]: a - b
Out[48]: set()
 
In [49]: b - a
Out[49]: {2, 3}

In [50]: a > b
Out[50]: False
 
In [51]: b > a
Out[51]: True
 
In [52]: a == b
Out[52]: False
 
In [53]: a != b
Out[53]: True
登入後複製


更多python中set常用操作相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!