資料型別之集合set
set 不允許重複的無序集合,不能通過下標取值,因為無序
1、建立
建立空集合
s ={} 預設型別為字典,所以不是空集合,空集合如下
s = set()
s = #字典是有鍵值對,集合沒有
s = set()#括號內可以接收可以迭代的元素,str list tuple dict
2、轉換
s = ([11,123,1234,12345])
l = "123"
l = [1,2,3,4]
l = (1,2,3,4)
s = set(l)
3、方法
#集合中元素無序不重複
st =
#集合中新增元素
st.add(77)print(st)
a =b =
#diference方法
#a.difference(b),a不同於b的元素有哪些,a保持不變
reta = a.difference(b)print(a)
print(reta)
#b.difference(a),b不同於a的元素有哪些,b保持不變
print(b)retb = b.difference(a)
print(retb)
#difference_update方法,找出a不同於b的元素並重新覆蓋a
a.difference_update(b)print(a)
#找出b不同於a的元素並覆蓋b
b.difference_update(a)print(b)
#找出a集合不同於b結合的的元素,b集合不同於a集合的元素,可以賦值給乙個新集合
retab = a.symmetric_difference(b)retba = b.symmetric_difference(a)
print(retab)
print(retba)
#找出a集合不同於b結合的的元素,b集合不同於a集合的元素,並將找到的結果更新到a結合
a.symmetric_difference_update(b)print(a)
#找出b集合不同於a結合的的元素,a集合不同於b集合的元素,並將找到的結果更新到b結合
b.symmetric_difference_update(a)print(b)
#discard移除集合中的元素,如果元素存在移除,不存在不報錯
print(a)a.discard(11)
print(a)
a.discard(456)
print(a)
#remove移除集合中的元素,如果元素存在移除,不存在報錯
print(a)a.remove(22)
print(a)
#111元素不存在與a中,下面的會報錯
a.remove(111)a.remove()
#intersaction取兩個集合的交集,並可以賦值給乙個新的集合
retinab = a.intersection(b)print(retinab)
#a.intersection_update(b)取兩個集合的交集,並將得到的集合更到集合a
a.intersection_update(b)print(a)
#並集union
#取a集合和b集合的並集
retuab = a.union(b)print(retuab)
#update將b集合更新追加到a集合中
a.update(b)print(a)
#a.isdisjoint(b)
t = a.isdisjoint(b)print(t)
#a.issubset(b) a是不是b的子串行
print(a.issubset(b))
#a.issuperset(b) 是不是b的父序列
print(a.issuperset(b))
#a.pop()把乙個元素移除,可以將這個移除的值賦值給乙個變數
ta = a.pop()print(ta)
#練習:尋找差異,並更新old字典
#將old_dict、new_dict中都存在的更新,old_dict在new_dict中不存在的刪除
#new_dict在old_dict中不存在的,追加到old中去
old_dict = ,"#2":,
"#3":
}new_dict = ,
"#3":,
"#4":
}k1 = old_dict.keys()
k2 = new_dict.keys()
k1_set = set(k1)
k2_set = set(k2)
k1_d_k2 = k1_set.difference(k2_set)
print(k1_d_k2)
for i1 in k1_d_k2:
old_dict.pop(i1)
print(old_dict)
k2_d_k1 = k2_set.difference(k1_set)
print(k2_d_k1)
for i2 in k2_d_k1:
old_dict[i2] = new_dict[i2]
print(old_dict)
k1_inter_k2 = k1_set.intersection(k2_set)
print(k1_inter_k2)
for i3 in k1_inter_k2:
old_dict[i3] = new_dict[i3]
print(old_dict)
print(old_dict==new_dict)
7 python 資料型別
1.如果乙個字串包含很多需要轉義的字元,對每乙個字元都進行轉義會很麻煩。為了避免這種情況,我們可以在字串前面加個字首r,表示這是乙個 raw 字串,裡面的字元就不需要轉義了。例如 r 但是r 不能表示多行文字,怎麼解決 2.python在後來新增了對unicode的支援,以unicode表示的字串用...
7 python資料型別補充 集合 深淺複製
一 基礎資料型別補充知識 1 fromkeys 將乙個物件作為values分別複製給另乙個物件,另乙個物件裡的元素作為keys 注意 此時作為values的元素位址相同,因為他們引用的是同乙個位址,所以values相同。dic dict.fromkeys 1,2,3,4,5,6,print dic ...
7 Python基本資料型別 數字
在32位機器上,整數的位數為32位,取值範圍為 2 31 2 31 1,即 2147483648 2147483647 在64位系統上,整數的位數為64位,取值範圍為 2 63 2 63 1,即 9223372036854775808 9223372036854775807 例如 2 1 0 1 2...