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

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

 

1.集合相關操做(交叉並補)

(1)intersection() 交集

set1 = {"one","two","three"}
set2 = {"four","five","one"}
res = set1.intersection(set2)
print(res)
res = set1 & set2
print(res)app

(2)difference() 差集

set1= {"one","two","three","four","five"}
set2 = {"six","seven","eigth","four"}
res = set1.difference(set2)
print(res)
res = set1 - set2   #s1 - s2 中有的元素,剩下的元素爲結果
print(res)函數

(3)unoion() 並集

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

(4)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)對象

(5)issubset()判斷是否子集

set1 = {"one","two","three"}
set2 = {"one"}
res = set2.issubset(set1)  #能夠徹底同樣
print(res)
#真子集: 2個集合不是徹底同樣的
res = set2 <= set1three

print(res)

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

(6)issuperset() 判斷是不是父集

set1 = {"one","two","three"}
set2 = {"one"}
res = set1.issuperset(set2)
print(res)
res = set1 >= set2 #>= 是要用等於的
print(res)
字符串

(7)isdisjoint()get

 

檢測兩集合是否相交 不相交Ture 相交Falseit

set1 = {"one","two","three"}
set2 = {"one"}
res = set1.isdisjoint(set2)
print(res)io

2.集合相關函數

 

(1)增 add() update()

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

print("==========update============")
#update() 迭代着增長 update (可迭代性數據)
setvar.update(["one","two"])
print(setvar)
print("==========刪============")

(2)刪除 clear() pop() discard()

#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.字典的相關函數(增刪改查)

# (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)

 

2.字典的方法 keys() values() items()

#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)

相關文章
相關標籤/搜索