python之集合學習筆記

2021-08-08 10:03:24 字數 1644 閱讀 4566

按我的理解,集合類似於數學中的集合這一概念。

集合有以下幾個特性:

1.集合內的元素是無序的,這和列表與元組不同,後兩者因為有序,所以可以用切片操作和下標索引。但集合不行。

2.集合只能用工廠方法來生成,函式有兩個:set()與frozenset().分別是可變與不可變的集合工廠函式。

a=set("beyond")

b=frozenset("beyond")

3.訪問集合中的元素,要先判斷集合中存在不存在這個元素,可以用in 與not in 操作符檢查。例如:

a=set("beyond")#生成了乙個集合

if'e'

ina:

print 'e'

4.更新集合的元素方法

a=set("beyond")

a.add("c")

print a

a.update("hello")

print a

5.刪除集合元素或者集合本身

a=set("beyond")

a.remove('b')

print a

del a

6.集合相等與大小的判斷

a=set("beyond")

b=frozenset("beoynd")#注意與上面字串的順序不一樣,但兩個集合是相等的

print a==b

而如果兩個集合,乙個集合的元素全部可以在另乙個集合中找得到,那麼可以用大於小於號來作判斷

a=set("beyond is a band")

b=frozenset("beoynd")#注意與上面字串的順序不一樣,但兩個集合是相等的

print a>b

print a

7.集合的數學意義上的操作

a.聯合 | ,這個合併操作可以把兩個集合中所有的 元素合併在一起。對照現實生活的情景如下:兩個班級的學生一起聯合舉辦某 個活動。那所有參加活動的同學就是:a班|b班

a=set("abc")

b=set("def")

c=a|b

print c

b.交集&,即兩個集合中都共同擁有的相同的元素。比如兩個班級中,有老師同時給這兩個班級上課,那這些老師就是這兩個班級師生集合的交集部分。

a=set("abc123")

b=set("def123")

c=a&b

print c

結果輸出:set([『1』, 『3』, 『2』])

c.差集-

a=set("abc123")

b=set("def123")

c=a-b

print c

8.前面說過集合有可變與不可變這兩種型別,如果乙個可變集合與乙個不可變集合用集合操作,那結果是可變的還是不可變的呢?

答案是看集合操作符左右兩邊的集合型別,操作結果的型別與左邊的集合型別相同。

9.以前我們習慣用+來給某個資料序列新增新的元素,但集合不支援這種操作,如果要新增,不妨用|操作符

Python學習筆記 Python之集合set

1.什麼是set集合 set集合 無序的並且是不重複的,如下 s set a b c 2.set集合訪問 訪問set集合中的元素,使用 in 操作符判斷,如下 s set a b c print c in s print d in s結果如下 true false3.set集合遍歷 使用 for 迴...

python學習筆記(七)之集合2

python學習筆記 七 之集合2 不變的集合 在 python學習筆記 六 之集合1 中以set 來建立集合,這種方式所建立的集合都是可原地修改的集合,或者說是可變的,也就是說是unhashable。還有一種集合,不能在原處修改。這種集合的建立方法是用frozenset ps frozen凍結的,...

python學習筆記 集合

使用工廠方法 set 和 frozenset s set cheeseshop s set c e h o p s t frozenset bookshop t frozenset b h k o p s type s type t 用各種集合內建的方法和操作符新增和刪除集合的成員 s.add z ...