常用資料結構 集合

2021-10-11 15:14:07 字數 4189 閱讀 7843

集合是一組用 「」 括起來的無序不重複元素,元素之間用逗號分隔。

1.用大括號將多個元素括起來,元素間用逗號分隔

>>

> s =

>>

> s

2.用函式 set() ,可將字串、列表、元組等型別的資料轉換為集合型別

>>

> s =

set(

['a'

,'b'

,'c'

,'d'])

>>

> s

>>

>

type

(s)<

class

'set'

>

>>

> a =

set(

)>>

> a

set(

)>>

>

type

(a)<

class

'set'

>

注:空集合只能用 set() 來建立,{} 用於表示空字典1.len() 返回集合中元素的個數

>>

> s =

>>

>

len(s)

4

2. in 判斷元素是否存在於集合之中,結果返回布林值

>>

> s =

>>

>

'b'in s

true

>>

>

1in s

false

3.並集、交集並集:建立新集合,包含兩個集合中的所有元素

交集:建立新集合,包含兩個集合中的公共部分

>>

> s1 =

>>

> s2 =

>>

> s1 | s2 #並集

>>

> s1 & s2 #交集

4.差集出現在集合a但不出現在集合b中的元素所構成的集合

>>

> s1 =

>>

> s2 =

>>

> s1-s2

>>

> s2-s1

5.對稱差返回兩個集合中不重疊的元素所構成的集合

>>

> s1 =

>>

> s2 =

>>

> s1 ^ s2

6.子集和超集子集:集合a中的元素都屬於集合b,a是b的子集

超集:集合a是b的子集,b是a的超集

>>

> s1 =

>>

> s2 =

>>

> s2

true

>>

> s2>s1

false

>>

> s2|

=s1>>

> s1

python中以物件導向方式實現集合型別的運算

1.union()、intersection()

union() 方法相當於並集運算,intersection() 方法相當於交集運算

>>

> s1 =

>>

> s2 =

>>

> s1.union(s2)

>>

> s1.intersection(s2)

2.update() 相當於合併運算

>>

> s1 =

>>

> s2 =

>>

> s1.update(s2)

>>

> s1

3.difference() 相當於差集運算

>>

> s1 =

>>

> s2 =

>>

> s1.difference(s2)

>>

> s2.difference(s1)

4.symmetric_difference() 相當於對稱差運算

>>

> s1 =

>>

> s2 =

>>

> s1.symmetric_difference(s2)

5.issubset() 用於判斷是否子集, issuperset() 用於判斷是否超集

>>

> s1 =

>>

> s2 =

>>

> s1.issubset(s2)

false

>>

> s2.issubset(s1)

true

>>

> s1.issuperset(s2)

true

>>

> s2.issuperset(s1)

false

6.add() 向集合中新增元素

>>

> s =

>>

>> s.add(

'e')

>>

> s

7.remove() 從集合中刪除元素

>>

> s =

>>

>> s.remove(

'f')

>>

> s

>>

> s.remove(1)

traceback (most recent call last)

: file ""

, line 1,in

s.remove(1)

keyerror:

1

注:集合中沒有該元素則報錯8.discard() 從集合中刪除元素

>>

> s =

>>

> s.discard(

'f')

>>

> s

>>

> s.discard(1)

>>

>

注:集合中沒有該元素也不報錯9.pop() 從集合中刪除任一元素並返回該元素

>>

> s =

>>

> s.pop(

)'b'

>>

> s =

set(

)>>

> s.pop(

)traceback (most recent call last)

: file ""

, line 1,in

s.pop(

)keyerror:

'pop from an empty set'

10.clear() 從集合中刪除所有元素變成空集合

>>

> s =

>>

> s.clear(

)>>

> s

set(

)

資料結構 集合

陣列 陣列長度在初始化的時候就已經固定,不適合物件數量未知的情況。下圖為collection 於的部落格 下圖為map 於網路 1.介紹一下list比較常用的集合 有序,值允許重複 1 arraylist 底層實現 private static final object defaultcapacit...

資料結構 集合

乙個識別符號 集合set 可以儲存多個資料,資料不能重複。集合與陣列的區別,集合的內容具有唯一性 全等匹配 宣告集合 let f70 newset f71 集合賦值 let f71 let f70 newset f71 集合賦值 f70.add 1 f70 add 2 f70.add 1 f70 a...

集合和資料結構

類似的資料在作為集合而儲存和操作時通常可以得到更高效地處理。可使用 system.array 類或 system.collections system.collections.generic system.collections.concurrent 和 system.collections.imm...