1. 程式人生 > >Python 基礎之集合相關操作與函數和字典相關函數

Python 基礎之集合相關操作與函數和字典相關函數

add int str === port section on() disjoint uno

:集合相關操作與相關函數

1.集合相關操作( )
#intersection() 交集
set1 = {"one","two","three"}
set2 = {"four","five","one"}
res = set1.intersection(set2)
print(res)
res = set1 & set2
print(res)

#difference() 差集
set1= {"one","two","three","four","five"}
set2 = {"six","seven","eigth","four"}
res = set1.difference(set2)
print(res)

res = set1 - set2
print(res)

#unoion() 並集
set1= {"one","two","three","four","five"}
set2 = {"six","seven","eigth","four"}
res = set1.union(set2)
print(res)
res = set1 | set2
print(res)

#symmrtric_difference() 對稱差集(補集情況涵蓋在其中)
set1= {"one","two","three","four","five"}
set2 = {"six","seven","eigth","four"}

res = set1.symmetric_difference(set2)
print(res)
res = set1 ^ set2
print(res)

#issubset() 判斷是否子集
set1 = {"one","two","three"}
#set2 = {"王文","王俊文","黃文"}
set2 = {"one"}
res = set2.issubset(set1) #可以完全一樣
print(res)
#真子集: 2個集合不是完全一樣的
res = set2 <= set1

print(res)

# res = set1.issuperset(set2)
# #也就是issubset()issuperset()在兩個集合元素相同的情況下都是Ture
# print(res)

#issuperset() 判斷是否是父集
set1 = {"one","two","three"}
set2 = {"one"}
res = set1.issuperset(set2)
print(res)
res = set1 >= set2 #>= 是要用等於的
print(res)


#isdisjoint() 檢測兩集合是否相交 不相交Ture 相交False
set1 = {"one","two","three"}
set2 = {"one"}
res = set1.isdisjoint(set2)
print(res)

2.集合相關函數

#(1)
#add() 相集合中添加數據
print("==========增============")
setvar = {"one","two","three"}
setvar.add("four")
print(setvar)

print("==========update============")
#update() 叠代著增加 update (可叠代性數據)
setvar.update(["one","two"])
print(setvar)
print("==========刪============")
#(2)刪除
#clear() 清空集合
setvar = {"one","two","three"}
setvar.pop()
print(setvar)

#pop() 隨機刪除集合的一個數據
setvar = {"one","two","three"}
setvar.remove("three")

#setvar.remove("three123") #error,刪除原來沒有的元素會出錯
print(setvar)

#discard() 刪除集合中指定的值 (不存在的不刪除 推薦使用)
setvar = {"one","two","three"}
res = setvar.discard("three123")
print(setvar)

3.冰凍集合 (只能做交差並補)
#frozenset 可墻磚容器類型數據變為冰凍集合
#冰凍集合一旦創建,不能再進行任何修改,只能做交差並補

#(1) 聲明空的冰凍集合
fz = frozenset()
print(fz,type(fz))
fz = frozenset([1,2,3,4])
print(fz,type(fz))
#fz2 =frozenset("2345") #註意字符串類型
fz2 = frozenset((2,3,4,5))
print(fz2,type(fz2))

fz2 = fz | fz2 #並集
print(fz2,type(fz2))

#fz1.add("456") #error 不允許添加或者刪除操作

:字典相關的函數

###字典的相關函數(增刪改查)
# (1)
dictvar = {}
dictvar[‘top‘] ="劍聖"
dictvar[‘moddle‘] = "妲己"
dictvar[‘bottom‘] = "魯班七號"
dictvar[‘jungle‘] = "劉備"
dictvar[‘support‘] = "劉邦"
dictvar[‘top‘] ="凱"
#如果鍵和前面的元素相同的情況下,將相同鍵的對應的值進行更新
print(dictvar)

#fromkeys() 使用一組鍵和默認值創建字典
listvar = ["a","b"]
dict = {}.fromkeys(listvar,None)
print(dict)

#不推薦使用fromkeys
‘‘‘
dict = {}.fromkeys(listvar,[])
dic[‘a‘].append(55)
print(dict(‘b‘))
‘‘‘

#(2) 刪除
#pop() 通過鍵去刪除鍵值對(若沒有該鍵可設置默認值,預防報錯)
dictvar = {‘top‘: ‘凱‘, ‘middle‘: ‘妲己‘, ‘bottom‘: ‘魯班七號‘, ‘jungle‘: ‘劉備‘, ‘support‘: ‘劉邦‘}
dictvar.pop(‘middle‘)
print(dictvar)

#dictvar.pop("modegdiqg")
dictvar.pop("dgqidq","該鍵不存在")
print(dictvar)

#popitem() 刪除最後一個鍵值對 3.6版本
dictvar = {‘top‘: ‘凱‘, ‘middle‘: ‘妲己‘, ‘bottom‘: ‘魯班七號‘, ‘jungle‘: ‘劉備‘, ‘support‘: ‘劉邦‘}
dictvar.popitem()
print(dictvar)

#clear() 清空字典
dictvar.clear()
print(dictvar)

#(3)
#update() 批量更新(有該鍵就更新,沒有該鍵就添加)
dict = { ‘jungle‘: ‘劉備‘, ‘support‘: ‘劉邦‘}
#dict.update{{‘top‘:"關羽",‘middle‘:"武則天"}}
#寫法一 (推薦)
dict.update({‘top‘:"花木蘭",‘middle‘:"武則天","support":"蔡文姬"})
print(dict)

#寫法二:
dict.update(abc="23",bbb="3ew",ccc="4567")
print(dict)

#(4)
#get() 通過鍵獲取值(若沒有該鍵可設置默認值,預防報錯)
dictvar = {‘top‘: ‘凱‘, ‘middle‘: ‘妲己‘, ‘bottom‘: ‘魯班七號‘, ‘jungle‘: ‘劉備‘, ‘support‘: ‘劉邦‘}
#dictvar[‘top123‘] error
res = dictvar.get("top123")
#如果沒有該鍵,默認返回None,如果指定默認值,則返回默認值
res = dictvar.get("top123","對不起,沒有該鍵")
print(res)


#重點記憶:
#keys() 將字典的鍵組成新的叠代對象
dictvar = {‘top‘: ‘凱‘, ‘middle‘: ‘妲己‘, ‘bottom‘: ‘魯班七號‘, ‘jungle‘: ‘劉備‘, ‘support‘: ‘劉邦‘}
for i in dictvar:
print(i)

#能夠遍歷就證明具有可叠代性
res = dictvar.keys()
print(res)

for i in res:
print(i)

#values() 將字典中的值組成新的可叠代對
res = dictvar.values()
print(res)
for i in res:
print(i)

#items() 將字典的鍵值對湊成一個個元組,組成新的可叠代對象
res = dictvar.items()
print(res)
for i in res:
print(i)

for a,b in res:
print(a,b)

Python 基礎之集合相關操作與函數和字典相關函數