pythonset的用法 set物件的建立和使用

2021-10-11 00:12:08 字數 1960 閱讀 4540

本文簡單總結一下python處理集合時常用的set物件,set物件中的內容是不重複的無序集合。

按照python官方教材的說法,set物件的基本使用場景是 membership testing and eliminating duplicate entries ,同時支援集合的 mathematical operations like union, intersection, difference, and symmetric difference.

建立set物件,可以使用set函式,或者大括號{},使用大括號時,內容不能為空,否則就是在建立dict物件。set函式可以輸入乙個iterable物件,用來提供set物件的內容。

>>> a = set()

>>> a

set()

>>> b = set('abcde')

>>> b

>>> c =

>>> c

>>> d =

>>> d

>>> len(a)

>>> len(b)

>>> len(c)

>>> len(d)

>>> f = set([1,2,3,4,5])

>>> f

>>> 'a' in b

true

>>> 'gg' in b

false

set物件屬於mutable,我們可以用add成員函式來增加set物件中的元素,不過如果增加重複元素,對set物件就無效了:

>>> f = set([1,2,3,4,5,6,7,8,9])

>>> id(f)

>>> f.add(999)

>>> f

>>> id(f)

>>> f.remove(5)

>>> f

>>> id(f)

>>> f.add(999)

>>> f.add(999)

>>> f.add(999)

>>> f

set物件最特別的應用,就是集合計算,下面這段是來自python官方的示例,我覺得作為基本知識很nice:

>>> a = set('abracadabra')

>>> b = set('alacazam')

>>> a # unique letters in a

>>> a - b # letters in a but not in b

>>> a | b # letters in a or b or both

>>> a & b # letters in both a and b

>>> a ^ b # letters in a or b but not both

如何遍歷set物件:

>>> f

>>> for it in f:

... print(it)

>>> f.add(0)

>>> for it in f:

... print(it)

set物件是是乙個集合,無序的,我們增加乙個元素後,並不能確定這個元素在遍歷的時候,出現在什麼時候。set物件的實現,肯定對內部元素有一種排序方式,不過對於使用set物件而言,這種內部的排序方式不需要知道,也是不可靠的依據,我們只需要知道無序即可。

set物件用來去重(去掉重複元素)是常用的操作,只需一行**即可搞定:

>>> a = [1,1,2,2,3,3,4,4,5,5]

>>> a

[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

>>> a = list(set(a))

>>> a

[1, 2, 3, 4, 5]

>>> b = (1,1,2,2,3,3,4,4,5,5)

>>> b

(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)

>>> b = tuple(set(b))

>>> b

(1, 2, 3, 4, 5)

-- eof --

Python set 的理解與基本用法

集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者set 函式建立集合。class set iterable 引數 iterable 可迭代物件物件 返回值 新的set集合物件 1 確定性 2 無序性 3 唯一性 無重複性 x set runoob y set google x,y se...

SET命令的用法

c documents and settings huojun xu set 顯示 設定或刪除 cmd.exe 環境變數。set variable string variable 指定環境變數名。string 指定要指派給變數的一系列字串。要顯示當前環境變數,鍵入不帶引數的 set。如果命令副檔名被...

set容器的用法

所有元素都會根據元素的鍵值自動排序,set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。set的元素不像map那樣可以同時擁有實值 value 和鍵值 key set成員函式列表如下 begin 返回指向第乙個元素的迭代器 clear 清除所有元素 count 返回某個值元素的...