資料型別之集合

2022-07-21 13:00:19 字數 3360 閱讀 6846

一、集合介紹:

集合用於包含一組無序的物件。與列表和元組不同,集合是無序的,也無法通過數字進行索引。此外,集合中的元素不能重複。

簡單總結:

不重複,(互異性),也就是說集合是天生去重的

元素為不可變物件,(確定性,元素必須可hash)

集合的元素沒有先後之分,(無序性)

二、集合的簡單操作

1.通過函式進行轉換:

nums = [1,2,3,4,5,6,7]

num_set =set(nums)

2.直接定義集合:

set_list =set()

3.增:

1.傳入的內容當做乙個整體放入集合中:

set_list.add(

'add')

2.傳入的元素拆分,做為個體傳入到集合中

set_list.update(

'updata')

4.刪 :

remove:如果有,直接刪除;如果沒有,程式報錯

set_list.remove(

'add')

5.該:不可變型別無法修改元素

6.查:無法通過下標索引

7.交集:

1.(&)

2.函式:intersection

示例:list1 = set('

jiangfeng')

list2 = set('

shanfeng')

list3 = list1 &list2

print

(list3)

list4 =list1.intersection(list2)

print

(list4)

結果:8.並集:

1.(|)

2.函式:union

例:list1 = set('

jiangfeng')

list2 = set('

shanfeng')

list3 = list1 |list2

print

(list3)

list4 =list1.union(list2)

print

(list4)

結果:9.差集:

1:(-)

2.函式:difference

例;list1 = set('

jiangfeng')

list2 = set('

shanfeng')

list3 = list1 -list2

print

(list3)

list4 =list2.difference(list1)

print

(list4)

結果:10.對稱差集:

1:(^)

2:函式:

例;list1 = set('

jiangfeng')

list2 = set('

shanfeng')

list3 = list1 ^list2

print

(list3)

list4 =list1.symmetric_difference(list2)

print

(list4)

結果:11.集合轉換:

例: list1 = set('

jiangfeng')

list =list(list1)

tuple =tuple(list1)

str =str(list1)

print

(list,type(list))

print

(tuple,type(tuple))

print

(str,type(str))

結果: ['e

', '

a', '

n', '

g', '

j', '

i', '

f'] 'list

'>('e

', '

a', '

n', '

g', '

j', '

i', '

f') 'tuple

'> 'str

'>

三、集合的方法:

add()                            #

將元素新增到集合中

clear() #

刪除集合中的所有元素

copy() #

返回集合的淺拷貝

difference() #

將兩個或多個集合的差集作為乙個新集合返回

difference_update() #

從這個集合中刪除另乙個集合的所有元素

discard() #

刪除集合中的乙個元素(如果元素不存在,則不執行任何操作)

intersection() #

將兩個集合的交集作為乙個新集合返回

intersection_update() #

用自己和另乙個的交集來更新這個集合

isdisjoint() #

如果兩個集合有乙個空交集,返回 true

issubset() #

如果另乙個集合包含這個集合,返回 true

issuperset() #

如果這個集合包含另乙個集合,返回 true

pop() #

刪除並返回任意的集合元素(如果集合為空,會引發 keyerror)

remove() #

刪除集合中的乙個元素(如果元素不存在,會引發 keyerror)

symmetric_difference() #

將兩個集合的對稱差作為乙個新集合返回

symmetric_difference_update() #

用自己和另乙個的對稱差來更新這個集合

union() #

將集合的並集作為乙個新集合返回

update() #

用自己和另乙個的並集來更新這個集合

資料型別之集合

在python中集合分兩種 集合的特點 線性結構的查詢時間複雜度是o n 即隨著資料規模的增大而耗時增加。set和dict通過hash table實現,時間複雜度是o 1 查詢時間與資料規模無關。建立乙個set。注意 建立乙個空集合必須使用set 而不是 用來建立乙個空字典 s1 set abcde...

資料型別之集合

集合 set 集合的元素是無序的,不重複的 1.獨有功能 1.增加元素 v v.add hh print v v.add hh print v d python3.6 python3.6.exe d python code day01 day06.py 2.刪除元素 v v.discard a pr...

python資料型別之集合型別

一 集合的作用 知識點回顧 可變型別是不可hash型別,不可變型別是可hash型別 作用 去重,關係運算 定義 可以包含多個元素,用逗號分割,集合的元素遵循三個原則 1.每個元素必須是不可變型別 可hash,可作為字典的key 2.沒有重複的元素 4.無序 注意集合的目的是將不同的值存放在一起,不同...