python set集合的基本運算

2021-09-20 00:03:29 字數 2894 閱讀 2056

一般的集合set都是可原處修改的集合。還有一種集合,不能在原處修改。

這種集合的建立方法是: frozenset("hiekay")

>>> f_set = frozenset("hiekay")     #看這個名字就知道了frozen,凍結的set

>>> f_set

frozenset(['h', 'i', 'e', 'k', 'a','y'])

>>> f_set.add("python") #報錯

traceback (most recent call last):

file "", line 1, in attributeerror: 'frozenset' object has no attribute 'add'

>>> a_set = set("github") #對比看一看,這是乙個可以原處修改的set

>>> a_set

set(['b', 'g', 'i', 'h', 'u', 't'])

>>> a_set.add("python")

>>> a_set

set(['b', 'g', 'i', 'h', 'python', 'u', 't'])

元素是否屬於某個集合。

>>> aset

set(['h', 'o', 'n', 'p', 't', 'y'])

>>> "a" in aset

false

>>> "h" in aset

true

假設兩個集合a、b

在互動模式下實驗

>>> a = set("abcde")

>>> b = set("abfgh")

>>> a

set(['a', 'b', 'c', 'd', 'e'])

>>> b

set(['a', 'b', 'f', 'g', 'h'])

>>> a == b

false

>>> a != b

true

實驗:

>>> c = set("ab")

>>> a

set(['a', 'c', 'b', 'e', 'd'])

>>> c

set(['a', 'b'])

>>> c>> c.issubset(a) #或者用這種方法,判斷c是否是a的子集

true

>>> a.issuperset(c) #判斷a是否是c的超集

true

>>> b

set(['a', 'h', 'b', 'g', 'f'])

>>> a>> a.issubset(b) #或者這樣做

>>> a | b #可以有兩種方式,結果一樣

>>> a & b #兩種方式,等價

set(['a', 'b'])

>>> a.intersection(b)

set(['a', 'b'])

實驗:

-a、b的對稱差集,如下圖所示

以上是集合的基本運算。

python set集合的基本操作

閱讀目錄 回到頂部 python的set是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援並 交 差 對稱差等。sets 支援 x in set len set 和 for x in set。作為乙個無序的集合,sets不記錄元素位置或者插入點。因此,sets不支援 inde...

Python set集合的使用

建立集合的幾種方式 集合建立方式1 這樣的方式建立 college1 print type college1 print college1 print 方式2 name1 set 張三 李四 王五 趙六 孫七 print type name1 print name1 print 方式3 這樣的建立方...

Python set集合詳解

python 中的集合,和數學中的集合概念一樣,用來儲存不重複的元素,即集合中的元素都是唯一的,互不相同。從形式上看,和字典類似,python 集合會將所有元素放在一對大括號 中,相鄰元素之間用 分隔,如下所示 其中,elementn 表示集合中的元素,個數沒有限制。從內容上看,同一集合中,只能儲存...