資料型別 集合(set)
一、集合的建立
特點:集合裡的元素是無序和不相同的
集合裡的元素必須是不可雜湊的 既元素不可變
s =
set(
'zhang lang'
)#set 會自動去重 因為集合裡的元素是不同的
print
(s)#輸出結果:
s =set(
'zhang lang'
) s1 =
['zhang'
,'ee'
,'liu'
] s2 =
set(s1)
#列表轉為集合
print
(s2,
type
(s2)
) s3 =
list
(s2)
print
(s3,
type
(s3)
)#集合轉為列表
s1 =
['zhang'
,'ee'
,'liu'
] s2 =
set(s1)
d =#set 不能當作字典的鍵
二、集合的分類:可變集合與不可變集合
可變集合(set): 可新增和刪除元素 非可雜湊的 不能用作字典的鍵,也不能做其他集合的元素
不可變集合:(frozenset): 與上面相反
三、集合的操作
1.由於集合本身是無序的,所以不能為集合建立索引或切片操作,只能迴圈遍歷或用 in 、not in 來訪問或判斷集合元素
s1 =
['zhang'
,'ee'
,'liu'
] s2 =
set(s1)
d =#set 不能當作字典的鍵
print
('zhang'
in s1) 輸出結果:true
2.集合元素的新增 add
s =
['zhang'
,'ee'
,'liu'
] a =
set(s)
a.add(
'uu'
)#新增乙個元素
print
(a) update
a.update(
'zph'
)print
(a) a.update([12
,'zph'
]) 新增多個元素
print
(a)
3.集合的刪除
s =
['zhang'
,'ee'
,'liu'
] a =
set(s)
remove
a.remove(
'ee'
)print
(a)pop 隨機刪除
a.pop(
)print
(a) clear 清空
a.clear(
)print
(a)del
del s
print
(s) 完全刪除 會報錯
4.集合型別操作符
(1)
in 與 notin(
2)集合等價與不等價 ==!=(
3)a =
set([1
,2,3
,4,5
])b =
set([4
,5,6
,7,8
])intersection(
) 交集interc
print
(a.intersection(b)
) 等同於 print
(a&b)
輸出結果:
union 並集 a|b
print
(a.union(b)
) 輸出結果:
等同於:pribnt(a | b)
差集print
(a.difference(b)
) 等同於print
(a-b)
in a but not
in b
print
(b.difference(a)
) 等同於print
(b-a)
in b but not
in a
對稱差集 反向交集
print
(a.symmetric_difference(b)
) 等同於print
(a ^ b)
輸出結果:
父集 超集
print
(a.issuperset(b)
)print
(a.issubset(
))
資料型別 元組
唯讀列表,只有count, index 2 個方法
作用:如果一些資料不想被人修改, 可以存成元組,比如身份證列表
python基礎之元組,集合
一 元組 為何要有元組,存放多個值,元組不可變,更多的是用來做查詢t 1,1,3 sss 1,2 t tuple 1,1,3 sss 1,2 print type t 元組可以作為字典的key d print d,type d d 1,2,3 切片goods iphone lenovo sanxin...
python列表 元組與集合
python列表 一 列表的建立與操作 1.建立列表 a 元素型別可為int,float,complex,str,list,tuple b a,1,true,3j 2,hi c 1,2,3,4 a,b 233,hello d a,b,c 2.列表的索引與切片 c 1,2,3,4 5,6 233,he...
Python攻關之迭代器
生成器都是迭代器,迭代器不一定是生成器 迭代器包含生成器 list tuple dict string iterable 可迭代物件 l 2 2,3 4 d iter l 相當於l.iter print d 什麼是迭代器?滿足兩個條件 1.有iter方法 2.有next方法 l 2,2,3,4 d ...