# 定義集合
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值快速查詢記錄...