初學python時,有很多定義都比較模糊,不是特別理解,導致一到使用就卡殼。本文致力用最簡潔的語言、最清晰的例子,跟你一起理解python中的集合函式。
三、集合的特點
四、集合的更新
五、集合的運算
六、總結
高中的時候我們就學過集合,python中的集合與之概念類似,又有不同。python中的集合專門用於儲存資訊,儲存的元素無序且不能重複,它用一對花括號{}定義,資料之間用逗號隔開。
python中有兩種不同的型別的集合:可變集合和不可變集合。可變集合可以新增或刪除元素,但可變集合儲存的元素不能被雜湊,因此不能用做字典的鍵。不可變集合不能新增或刪除元素,集合儲存的元素元素可以被雜湊,因此可以用做字典的鍵。python中集合之間也可以求並集、交集、差集、差分等運算。
python中用set和{}建立的集合是可變集合,用frozenset建立的是不可變集合。不可變集合不可以增加、刪除集合中的元素,即集合內容不可變。這類似於字串和元組,如果試圖改變,python會報錯。不可變集合除了內容不能更改外,其他功能及操作和可變集合一樣。不可變集合有乙個非常有用的例項,會專門寫一篇文章進行介紹。接下來重點介紹可變集合。
1 語法
set
(object
)
其中object可以是字串,元組,列表,字典等物件。
2 例項
例項1—(object為字串)
set
('阿黎逸陽'
)
得到結果:
注:從例項1知,集合是無序的,把字串拆成了乙個乙個的元素分別儲存。
例項2—(object為元組)
set((
1,1,2))
得到結果:
注:從例項2知,集合中的元素不能重複,可以用集合去重。
例項3—(object為列表)
set([
'好',
'好',
'學',
'習',
'天',
'天',
'向',
'上']
)
得到結果:
例項4—(object為字典)
set
()
得到結果:
注:從例項4知,當object是字典時,取出的是字典的鍵作為集合的值。
特點1 不能通過索引訪問
集合是無序的,故不能通過索引訪問。
特點2 可以通過for迴圈呼叫集合中的元素
a =
set([1
,'希望'
,'明天'
,'會'
,'更好',1
])for i in a:
print
(i)
得到結果:
明天1會
希望更好
對於可變集合,可以用內建的add方法新增乙個成員、remove方法刪除乙個成員、update方法新增乙個或多個成員。操作符「-=」用於刪除集合中的子集合。
1 用add方法新增乙個集合成員
add方法可以新增乙個集合成員,新增的物件可以是單個元素,也可以是單個字串。但是不能是元組或列表等物件,即使元組或列表裡的元素只有乙個也會報錯。
例項1—(新增單個數字)
b =
b.add(
3)
得到結果:
例項2—(新增乙個字串)
b =
b.add(
'aaa'
)
得到結果:
2 用remove方法刪除乙個集合成員
c=
set([1
,'希望'
,'明天'
,'會'
,'更好',1
])c.remove(
1)
得到結果:
3 用update方法新增乙個或多個集合成員
例項1—(新增乙個成員)
c=
set([1
,'希望'
,'明天'
,'會'
,'更好',1
])c.update(
'a')
得到結果:
例項2—(新增多個成員)
b =
c =b.update(c)
得到結果:
4 用「-=」方法刪除集合中的子集合
b =c =
b -= c #等價於b = b - c
得到結果:
python中集合之間也可以求並集、交集、差集、差分等運算。
1 兩個集合求並集
set1 =
set2 =
set3 = set1 | set2 #兩個集合中的元素合併去重
得到結果:
2 兩個集合求交集set1 =
set2 =
set4 = set1 & set2 #兩個集合中都有的元素
得到結果:
3 兩個集合求差集set1 =
set2 =
set5 = set1 - set2 #set1中的元素去除set2中有的元素
得到結果:
4 兩個集合求差分
集合的差分運算又叫對稱差運算,是集合的異或運算。使用符號『^』或函式symmetric_difference可以執行集合的差分運算。在python語言中,由不同時屬於集合set1和set2的成員組成新的集合,叫集合的差分運算。
set1 =
set2 =
set6 = set1^set2
得到結果:
1.python中集合儲存的元素無序且不能重複。
2.python中集合分為可變集合(用set和{}建立)和不可變集合(用frozenset建立)。可變集合可以新增或刪除元素,不可變集合不能被修改。
3.python中集合不能通過索引訪問,可以通過for迴圈呼叫集合中的元素。
4.python中集合可以通過add(新增乙個集合成員)、remove(刪除乙個集合成員)、update(新增乙個或多個集合成員)等方法對集合進行更新。
5.python中集合可以求並集、交集、差集、差分等運算。
參考文獻
用python繪製詞雲圖
python人臉識別—我的眼裡只有你
python畫好看的星空圖(唯美的背景)
用python中的py2neo庫操作neo4j,搭建關聯圖譜
python浪漫表白原始碼合集(愛心、玫瑰花、**牆、星空下的告白)
徹底讓我弄懂this,call,apply的文章
一 關於this 首先關於this我想說一句話,這句話記住了this的用法你也就差不多都能明白了 this指的是當前函式的物件 這句話可能比較繞,我會舉出很多例子和這句話呼應的!看下文 1.首先看下面這段 定義乙個函式,彈下this,js function dosomething dosomethi...
徹底弄懂js中的this指向
可以先參考這篇部落格 全域性作用域或者普通函式中this指向全域性物件window。直接列印 console.log this window function宣告函式 function bar bar window function宣告函式賦給變數 var bar function bar wind...
徹底弄懂css中單位px和em的區別
國內的設計師大都喜歡用px,而國外的 大都喜歡用em,那麼兩者有什麼區別,又各自有什麼優劣呢?1.ie無法調整那些使用px作為單位的字型大小 2.國外的大部分 能夠調整的原因在於其使用了em作為字型單位 3.firefox能夠調整px和em,但是96 以上的中國網民使用ie瀏覽器 或核心 px畫素 ...