Python set集合類型操作總結

來源:互聯網
上載者:User
Python中除了字典,列表,元組還有一個非常好用的資料結構,那就是set了,靈活的運用set可以減去不少的操作(雖然set可以用列表代替)

小例子

1.如果我要在許多列表中找出相同的項,那麼用集合是最好不過的了,用集合只用一行就可以解決

複製代碼 代碼如下:


x & y & z # 交集

2.去重

複製代碼 代碼如下:


>>> lst = [1,2,3,4,1]
>>> print list(set(lst))
[1, 2, 3, 4]

用法

注意set因為沒有位置的概念所以list方法切片什麼的都沒有用,需要的時候再轉化為list

內建函數建立set

複製代碼 代碼如下:


set([1, 2, 3, 4])

基本操作

複製代碼 代碼如下:


t.add('x') # 添加一項
s.update([10,37,42]) # 在s中添加多項

t.remove('H') # 刪除一項

len(s) # set 的長度

x in s # 測試 x 是否是 s 的成員

x not in s # 測試 x 是否不是 s 的成員

s.issubset(t)
s <= t # 測試是否 s 中的每一個元素都在 t 中

s.issuperset(t)
s >= t # 測試是否 t 中的每一個元素都在 s 中

s.union(t)
s | t # 返回一個新的 set 包含 s 和 t 中的每一個元素

s.intersection(t)
s & t # 返回一個新的 set 包含 s 和 t 中的公用元素

s.difference(t)
s - t # 返回一個新的 set 包含 s 中有但是 t 中沒有的元素

s.symmetric_difference(t)
s ^ t # 返回一個新的 set 包含 s 和 t 中不重複的元素

s.copy() # 返回 set “s”的一個淺複製

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.