集合的基本操作和常規函式(冰凍集合)

2021-10-10 07:23:09 字數 3720 閱讀 8661

# 定義集合

vars =

# 1、無序。

# 2、布林型別 true 表示為 1,false 表示為 0,布林和數字只存在乙個

# 3、元素的值不能重複

# 4、集合中不可有列表,若有則會被報錯

# 檢測集合中的值

res = '123' in vars

res = '123' not in vars

# 獲取集合中元素的個數 len()

# res = len(vars)

# 集合的遍歷

# for i in vars:

# print(i,type(i))

# 向集合中追加元素 add()

res = vars.add('def')

# 刪除集合中的元素 隨機刪除乙個元素並返回 abc false true 3.1415

# r1 = vars.pop()

# 指定刪除集合中的元素 remove() 返回none,不存在則報錯

# res = vars.remove('aaa')

# discard 指定刪除集合中的元素,不存在也不會報錯

# res = vars.discard('aaa')

# clear() 清空集合

# res = vars.clear()

# update(others) 更新集合,新增來自 others 中的所有元素。

res = vars.update()

# 當前集合中的淺拷貝並不存在 深拷貝的問題

res = vars.copy()

'''當前集合中的淺拷貝並不存在 深拷貝的問題

因為集合中的元素都是不可變,包括元組和冰凍集合

不存在拷貝後,對集合中不可變的二級容器進行操作的問題

'''

# 集合推導式

varset =

# (1) 普通推導式

newset =

# (2) 帶有條件表示式的推導式

newset =

# (3) 多迴圈的集合推導式

vars1 =

vars2 =

# newset = set()

# for i in vars1:

# for j in vars2:

# print(i,j)

# newset.add(i+j)

# print(newset)

newset =

# print(newset)

# (4) 帶條件表示式的多迴圈的集合推導式

newset =

print(newset)

冰凍集合
# 冰凍集合(了解)

v = frozenset((1,2,3))

print(v)

'''語法:定義冰凍集合,只能使用 frozenset() 函式進行冰凍集合的定義

+ 冰凍集合一旦定義不能修改

+ frozenset() 本身就是乙個強制轉換類的函式,可以把其它任何容器型別的資料轉為冰凍集合

'''# 定義

vars = frozenset()

# vars = frozenset([1,2,3])

# 遍歷

# for i in vars:

# print(i)

# 冰凍集合的推導式

res = frozenset()

# 冰凍集合可以和普通集合一樣,進行集合的運算 交集。。。

# copy()

res = res.copy()

# print(res)

集合運算
'''

集合的主要運算

交集 & set.intersection() set.intersection_update()

並集 | union() update()

差集 - difference(),difference_update()

對稱差集 ^ symmetric_difference() symmetric_difference_update()

'''vars1 =

vars2 =

# & 求兩個集合相交的部分

res = vars1 & vars2

# | 求兩個集合的並集,就是把集合中所有元素全部集中起來,(去除重複)

res = vars1 | vars2

# - 差集運算

res = vars1 - vars2 # vars1有,而,vars2 沒有的

res = vars2 - vars1 # vars2有,而,vars1 沒有的

# ^ 對稱差集

res = vars1 ^ vars2

# 交集運算函式 intersection intersection_update

# set.intersection() # 返回交集的結果 新的集合

# res = vars1.intersection(vars2)

# set.intersection_update() # 沒有返回值

# 計算兩個集合的相交部分,把計算結果重新賦值給第乙個集合

# res = vars1.intersection_update(vars2)

# 並集運算函式 | union() update()

# res = vars1.union(vars2) # 返回並集結果,新的集合

# 求並集運算,並且把結果賦值給第乙個集合

# res = vars1.update(vars2) # 沒有返回值

# print(vars1)

# 差集運算 函式 difference(),difference_update()

# res = vars1.difference(vars2) # 返回差集結果 新的集合

# 把差集的結果,重新賦值給第乙個集合

# res = vars1.difference_update(vars2) # 沒有返回值

# 求對稱差集

# res = vars1.symmetric_difference(vars2) # 返回對稱差集的結果 新的集合

# 把對稱差集的運算結果,重新賦值給第乙個集合

res = vars1.symmetric_difference_update(vars2)# 沒有返回值

# 檢測 超集 子集

vars1 =

vars2 =

# issuperset() 檢測是否為超集

res = vars1.issuperset(vars2) # true vars1是vars2的超集

res = vars2.issuperset(vars1) # false

# issubset() 檢測是否為子集

res = vars1.issubset(vars2) # false

res = vars2.issubset(vars1) # true vars2是vars1的子集

# 檢測兩個集合是否相交

vars1 =

vars2 =

# isdisjoint 檢測是否不相交, 不相交返回true,相交則返回false

res = vars1.isdisjoint(vars2)

print(res)

pytho 集合 的基本操作和基本運算

集合是無序的,不重複的且不可以更改的資料集合,它裡面的元素是可雜湊的 不可變型別 但是集合本身是不可雜湊 所以集合做不了字典的鍵 的。以下是集合最重要的兩點 建立乙個空的集合 這裡需要注意,我們不可以直接用花括號 st set st set st1 type st type st1 class se...

C map的基本操作和使用

map是c 的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map最基本的建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmap...

c map的基本操作和用法

1 map簡介 map是一類關聯式容器。它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來說,可以修改實值,而不能修改key。2 map的功能 自動建立key value的對應。key 和 value可以是任意你需要的型別。根據key值快速查詢記錄...