Python中集合類型(set)學習小結_python

來源:互聯網
上載者:User

set 是一個無序的元素集合,支援並、交、差及對稱差等數學運算, 但由於 set 不記錄元素位置,因此不支援索引、分區等類序列的操作。

初始化

複製代碼 代碼如下:

s0 = set()
d0 = {}
s1 = {0}
s2 = {i % 2 for i in range(10)}
s = set('hi')
t = set(['h', 'e', 'l', 'l', 'o'])
print(s0, s1, s2, s, t, type(d0))

運行結果:
複製代碼 代碼如下:

set() {0} {0, 1} {'i', 'h'} {'e', 'o', 'l', 'h'} <class 'dict'>

提示
1.s0、d0:使用 {} 只能建立空字典,建立空集必須用 set();
2.ss、sl:set 中的元素是 無序不重複 的,可以利用這個特點去除列表中的重複元素。

運算操作

複製代碼 代碼如下:

print(s.intersection(t), s & t)  # 交集
print(s.union(t), s | t)   # 並集
print(s.difference(t), s - t)  # 差集
print(s.symmetric_difference(t), s ^ t) # 對稱差集
print(s1.issubset(s2), s1 <= s2) # 子集
print(s1.issuperset(s2), s1 >= s2)      # 包含

運行結果:

複製代碼 代碼如下:

{'h'} {'h'}
{'l', 'h', 'i', 'o', 'e'} {'l', 'h', 'i', 'o', 'e'}
{'i'} {'i'}
{'i', 'l', 'o', 'e'} {'i', 'l', 'o', 'e'}
True True
False False

提示
1.非運算子的方法接受任何可迭代對象作為參數,如 s.update([0, 1]);
2.其他等價操作:s.update(t) 與 s |= t,s.intersection_update(t) 與 s &= t,s.difference_update(t) 與 s -= t,s.symmetric_difference_update(t) 與 s ^= t 等。

基本方法

複製代碼 代碼如下:

s = {0}
print(s, len(s))   # 擷取集合中的元素的總數
s.add("x")         # 添加一個元素
print(s)
s.update([1,2,3])  # 添加多個元素
print(s, "x" in s) # 成員資格測試
s.remove("x")      # 去掉一個元素
print(s, "x" not in s) 
s.discard("x")     # 如果集合存在指定元素,則刪除該元素
c = s.copy()       # 複製集合    
print(s, s.pop())  # 彈出集合中的一個不確定元素,如果原集合為空白則引發 KeyError
s.clear()          # 刪除集合中的元素
print(s, c)

運行結果:
複製代碼 代碼如下:

{0} 1
{0, 'x'}
{0, 'x', 1, 2, 3} True
{0, 1, 2, 3} True
{1, 2, 3} 0
set() {0, 1, 2, 3}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.