python之集合詳細介紹

2021-10-05 10:33:10 字數 3184 閱讀 6529

2.集合用法

3.集合運算

4 集合總結

集合(set)是乙個無序的不重複元素序列,可以使用 set() 函式建立。

集合不同於列表和元組型別,集合儲存的元素是無序且不能重複的,即:

1.集合只能儲存不可變物件(int型別、float型別、str型別、tuple型別)

2.集合中儲存的物件是無序的

3.集合中不能出現重複的元素

4.同數學中的集合一樣,集合可以執行集合的並、交、差運算。

s =

print

(s,type

(s))

# 結果:

s =print

(s,type

(s))

# 結果:

s =# 報錯:儲存了可變物件列表,unhashable type: 'list'

s =print

(s,sorted

(s))

# 結果: [1, 2, 3] # 集合中不能出現重複的元素

print

(s[0])

# 報錯:typeerror: 'set' object does not support indexing # 集合是無序的,無法用索引

print

(list

(s)[0]

)#轉為列表

'''

集合建立:

1. set()函式將序列(列表、字串、元組、字典)轉換為集合

'''s =

print

(s,type

(s))

# 結果為 {}

s =set([

1,2,

3,4,

2,2,

3,1]

)print

(s,type

(s))

# 結果為

s =set

('python'

)print

(s,type

(s))

# 結果為

s =set((

1,2,

3,4)

)print

(s,type

(s))

# 結果為

s =set()

# 使用set()函式將字典轉換為集合時,只包含字典的keys(鍵)

print

(s,type

(s))

# 結果為

s =

set(

'abc'

)print

('a'

in s )

#結果為true

print

('d'

in s )

#結果為false

'''

len() 獲取集合的長度或者元素的數量

'''s =

set(

'abc'

)print

(len

(s))

# 結果為3

'''

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

'''s =

#建立空集合

print

(type

(s))

# # s.add(4,5,6) # 報錯 :add() takes exactly one argument (3 given)

s.add(4)

print

(s,type

(s))

#

'''

.update() 向集合中新增另一集合

'''s1 =

s2 =

print

(s1.update(s2)

)#

'''

. pop() 隨機刪除集合中的乙個元素並返回

'''s =

a = s.pop(

)print

(a)# 2

'''

.remove()刪除集合中指定的元素

'''s =

s.remove

print

(s)#

'''

.clear()清空集合

'''s =

s.clear(

)print

(s)# 結果為set()

print

(s.clear())

# 結果為none

'''

交集運算 &

並集運算 |

差集運算 -

亦或集 ^ 不相交的部分

'''s1 =

s2 =

# 交集運算 &

result = s1 & s2

print

(result)

# 結果為

# 並集運算 |

result = s1 | s2

print

(result)

# 結果為

# 差集運算 -

result1 = s1 - s2

print

(result1)

# 結果為

result2 = s2 - s1

print

(result2)

# 結果為

# 亦或集 ^ 不相交的部分

result = s1 ^ s2 #

print

(result)

# 結果為

'''

<= 檢查乙個集合是否是另乙個集合的子集

< 檢查乙個集合是否是另乙個集合的真子集

>= 檢查乙個集合是否是另乙個集合的超集

> 檢查乙個集合是否是另乙個集合的超超集

如果超集b中包含子集a中所有的元素,並且b中還有a集合中沒有的元素,b是a的真超集,a是b的真子集

'''a =

b =result =

<=

# a集合是b集合的子集(b集合是a集合的超級)

print

(result)

# ture

Java集合詳細介紹及原理

collection 單列集合 list 有序,可重複 arraylist 底層資料結構是陣列,查詢快,增刪慢 執行緒不安全,效率高 vector 底層資料結構是陣列,查詢快,增刪慢 執行緒安全,效率低 linkedlist 底層資料結構是鍊錶,查詢慢,增刪快 執行緒不安全,效率高 set 無序,唯...

Python之字典與集合的介紹

字典和集合為何總要放在一起,說來也巧,就是因為它們都用大括號 包裹。2.1 字典和集合那些基礎操作 2.1.1 先說字典 字典是由鍵值對組成的,鍵為 key,值為 value,標記一下,在 python3.6 之前字典是無需的,長度大小可變,元素也可以任意的刪除和改變,在 python 3.7 之後...

python6之集合的介紹

集合是無序的,集合中的元素是唯一的,集合一般用於元組或者列表中的元素去重。定義乙個空集合 set1 set 注意以下寫法為乙個空字典,為空缺省是字典,如果有資料在根據格式判斷 set2 新增元素 add,update add set1 新增元素 set1.add 8 update set1 是把要傳...