python學習之【第七篇】:Python中的集合及其所具有的方法

來源:互聯網
上載者:User

標籤:python學習   key   區別   轉換   出現   類型   move   並集   china   

1.前言

python中的集合set與列表類似,它們最大的區別是集合內不允許出現重複元素,如果在定義時包含重複元素,會自動去重。
集合是無序的,集合中的元素必須是不可變類型。集合可以作為字典的key。

2.集合的定義

集合用一對花括弧{}定義

set = {'dog','cat','pig','monkey'}print(set)# 輸出{'pig', 'cat', 'monkey', 'dog'}
3.集合的常見操作
  • add(x)
    往集合的尾部添加元素x
set = {'dog','cat','pig','monkey'}set.add('china')set.add('china')print(set)# 輸出{'cat', 'pig', 'china', 'monkey', 'dog'}

注意:集合內部不允許出現重複元素,如果有重複元素,集合會自動去重,所以當往集合的尾部添加兩個相同元素時,只會保留一個。

  • clear()
    清空集合內的元素
set = {'dog','cat','pig','monkey'}set.clear()print(set)# 輸出set()
  • pop()
    隨機刪除集合內的一個元素,並返回所刪除的元素
set = {'dog','cat','pig','monkey'}print(set.pop())print(set)# 輸出'pig'{'cat', 'monkey', 'dog'}
  • remove(x)
    刪除集合內的元素x,如果元素x不存在會報錯
set = {'dog','cat','pig','monkey'}set.remove('dog')print(set)set.remove('dog')# 輸出{'pig', 'cat', 'monkey'}報錯,因為已經把元素'dog'從集合中刪去了,再次刪除'dog'時,由於集合中已經不存在該元素了,所以報錯
  • discard(x)
    刪除集合內的元素x,如果元素x不存在會返回None,不會報錯
set = {'dog','cat','pig','monkey'}set.discard('dog')print(set)print(set.discard('dog'))# 輸出{'pig', 'cat', 'monkey'}None
4.集合的關係運算
  • 求交集s1 & s2
set1 = {'a','b','c','d'}set2 = {'h','e','a','l','c'}print(set1 & set2)# 輸出{'c', 'a'}
  • 求並集s1 | s2
set1 = {'a','b','c','d'}set2 = {'h','e','a','l','c'}print(set1 | set2)# 輸出{'c', 'a', 'h', 'd', 'b', 'l', 'e'}
  • 求差集s1 - s2
set1 = {'a','b','c','d'}set2 = {'h','e','a','l','c'}print(set1 - set2)# 輸出{'b', 'd'}
5.利用集合對列表去重

利用集合內不允許出現重複元素這一天然特點,我們可以用來對列表去重

l1 = ['h','e','l','l','o']#1.將列錶轉為集合,集合會自動去重s1 = set(l1)#2.將去重後的集合再轉回列表l1 = list(s1)print(l1)# 輸出['l', 'o', 'h', 'e']

想必細心的你已經看出來了,去重前後的列表中的元素順序變了,由於集合是無序的,有序的列錶轉換成集合後變成了無序的,所以元素的順序發生了變化,這並不是我們想要的,我們只想去掉列表中重複的元素而不想改變列表中元素的順序,這也就是這種去重方法的缺點。

python學習之【第七篇】:Python中的集合及其所具有的方法

相關文章

聯繫我們

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