資料型別之集合

2022-05-15 14:02:40 字數 2367 閱讀 7051

在python中集合分兩種:

集合的特點:

線性結構的查詢時間複雜度是o(n),即隨著資料規模的增大而耗時增加。set和dict通過hash table實現,時間複雜度是o(1),查詢時間與資料規模無關。

建立乙個set。注意:建立乙個空集合必須使用set()而不是{},{}用來建立乙個空字典

s1 = set('abcde')

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

s3 =

print(s1)

print(s2)

print(s3)

# #

#

建立乙個frozenset

s4 = frozenset('abcde')

print(s4)

# frozenset()

集合運算

s5 = set('cefxyz')

# 並集(合集),相加

print(s1 | s5)

# 這裡可以傳遞乙個或多個iterable,返回乙個新的集合

print(s1.union(s5))

# 'z', 'd', 'f', 'c', 'x', 'a', 'e', 'b', 'y'}

# 並等

s1 |= s5

print(s1)

# # 這裡也可以傳遞乙個或者多個iterable,不同的是這裡是就地修改

s1.update('opq')

print((s1))

# # 交集,公共部分

print(s1 & s5)

print(s1.intersection(s5))

# # 交等

s1 &= s5

print(s1)

print(s1.intersection_update('opq'))

# # 差集,相減

print(s1 - s5)

print(s1.difference(s5))

# # 差等

s1 -= s5

print(s1)

s1.difference_update(s5)

# # 對稱差集,並集減去交集

print(s1 ^ s5)

print(s1.symmetric_difference(s5))

# # 對稱差等

s1 ^= s5

print(s1)

s1.symmetric_difference_update(s5)

#

對於兩個集合a和b,如果a是b的子集,且a不等於b,那麼a就是b的真子集,b是a的真超集。

判斷乙個集合是否是另乙個集合的子集

s6 = 

print(s1.issubset(s6))

# true

print(s1 <= s6)

# true

# 判斷真子集

print(s1 < s6)

# true

判斷乙個集合是否是另乙個集合的超集(父集)

print(s6.issuperset(s1))

# true

print(s6 >= s1)

# true

# 判斷真超集

print(s6 > s1)

# true

判斷兩個集合是否沒有交集

print(s1.isdisjoint(s6))

# false

新增乙個元素

s1.add('m')

print((s1))

#

刪除乙個元素

# 對於remove()方法,如果元素不存在將丟擲keyerror異常

s1.remove('a')

print((s1))

# # discard()方法同樣用來刪除乙個元素,不過元素不存在時不做任何操作,並且不會丟擲異常

s1.discard('b')

print(s1)

# # pop()刪除任意乙個元素並返回它的值,如果集合為空將丟擲keyerror異常

res = s1.pop()

print(res)

# d

參考文件

集合_(數學)

資料型別之集合

一 集合介紹 集合用於包含一組無序的物件。與列表和元組不同,集合是無序的,也無法通過數字進行索引。此外,集合中的元素不能重複。簡單總結 不重複,互異性 也就是說集合是天生去重的 元素為不可變物件,確定性,元素必須可hash 集合的元素沒有先後之分,無序性 二 集合的簡單操作 1.通過函式進行轉換 n...

資料型別之集合

集合 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.無序 注意集合的目的是將不同的值存放在一起,不同...