# 集合操作# 集合是乙個無序的,不重複的資料組合,它的主要作用如下:
# 去重,把乙個列表變成集合,就自動去重了
# 關係測試,測試兩組資料之前的交集、差集、並集等關係
def nl():
print('='.ljust(30, '='))
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
list2 = [3, 4, 5, 6, 8, 0, 11, 23, 55]
listnew =
'''# for i in list1:
# listnew = list1.copy()
# print(listnew)
# for i in list2:
# if i not in listnew:
# print(listnew)
''''''
list3 = list1 + list2
print(list3)
list4 = set(list3)
listnew = list(list4)
print(listnew)
''''''
for i in list1:
if i in list2:
print(i)
'''list_1 = [1, 4, 5, 7, 3, 6, 7, 9]
print(type(list_1))
list_1 = set(list_1)
list_2 = set([2, 6, 0, 66, 22, 8, 4])
print(list_1, list_2)
'''關係測試:
----------------------------------------
'''#交集 (1和2 都有)
print('交集',list_1.intersection(list_2))
#並集 (1和2 加起來)
print('並集',list_1.union(list_2))
#差集 (只存在1不存在2)
print(list_1.difference(list_2))
#子集 (1是2 的子集嗎?) false
print(list_1.issubset(list_2))
#父集 1是2 的父集嗎 false
print(list_1.issuperset(list_2))
#對稱差集 對稱差集(項在t或s中,但不會同時出現在二者中)
# 1 中獨有和 2中獨有的放在一起
# 其實就是並集中去掉交集的
print(list_1.symmetric_difference(list_2))
#如果兩個集合的交集為空,則返回true
# 判斷兩個集合是否有交集 \
'''沒有返回true
有返回false
'''print(list_1.isdisjoint(list_2))
'''運算子方式
'''a = set([3, 4, 5, 'l'])
b = set('hello')
print(a | b) #並
print(a & b) #交
print(a - b) #差
print(a ^ b) #對稱差
nl()
# 基本操作
#增 單
list_1.add(999)
print(list_1)
#增 多
list_1.update([3, 77, 34])
print(list_1)
#刪除一項
list_1.remove(1)
print(list_1)
nl()
#長度print(len(list_1))
nl()
# 測試 x 是否是 s 的成員
x = 1
s = set([1, 2, 3])
result = x in list_1
print(result)
#******************************
'''# 測試 x 是否不是 s 的成員
x not in s
# 測試是否 s 中的每乙個元素都在 t 中
s <= t
# 測試是否 t 中的每乙個元素都在 s 中
s >= t
'''#******************************
'''s.union(t)
s | t
返回乙個新的 set 包含 s 和 t 中的每乙個元素
'''#******************************
'''s.intersection(t)
s & t
返回乙個新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s - t
返回乙個新的 set 包含 s 中有但是 t 中沒有的元素
s.symmetric_difference(t)
s ^ t
返回乙個新的 set 包含 s 和 t 中不重複的元素
s.copy()
返回 set 「s」的乙個淺複製
'''#刪除任意乙個元素並返回
aa = set([1, 2, 3, 4, 5, 'a', 'b', 'c'])
ret = aa.pop()
print(ret)
print(aa)
#從集合中刪除元素(如果它是成員)。
# 如果元素不是成員,則什麼也不做。
print(aa.discard('a')) #存在 'a' 所以刪除了'a'
print(aa)
print(aa.discard(6)) # 6不存在所以返回none
nl()
集合的操作
list 1 2,3,5,6,2,7,9 list 2 6,4,7,7,3,2,8 list 1 set list 1 把列表轉換為集合 集合可以除去列表中相同的數 list 2 set list 2 list 1.intersection list 2 list 1 list 2 算出list 1...
集合的操作
集合是乙個無序的,不重複的資料組合,作用如下 1.去重,把乙個列表變成集合,就自動去重了 2.關係測試,測試兩組資料之前的交集 差集 並集等關係 建立集合 a 1,3,5,3 b set a b 交集intersection 或 a set 1,3,5,7 b set 3,9,11 a.inters...
集合的相關操作
include using namespace std typedef struct nodenode,linklist define size sizeof node define false 0 define true 1 初始化集合 void initlinklist linklist hea...