資料型別之Set集合
阿新 • • 發佈:2019-01-26
set集合
1.概述
set與dict類似,但set是一組key的集合,與dict的區別在於set不儲存value。
本質:無序且無重複元素的集合(具有自動去重的功能)。
2.set的建立
語法:
set1 = set([1, 2, 3, 4, 5])
注意:建立set需要一個list或者tuple或者dist作為輸入集合,重複的元素在set中會被自動的過濾
s1 = set([1, 2, 3, 4, 5])
print(s1)
輸出:
{1, 2, 3, 4, 5}
3.set操作
3.1 set.add()
1.可以新增重複的元素,但是不會有效果
2.add 的元素不能是列表或者字典,因為他們是可變的
s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)
#結果
{1, 2, 3, 4, 5, 6, (2, 3, 4)}
3.2 set.update()
功能:插入整個list、tuple、字串打碎插入
注意:不能直接插入數字。
s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)
#結果
{1, 2, 3, 4 , 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}
3.3 set.remove(元素)
功能:刪除元素
s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)
輸出:
{1, 2, 4, 5}
3.4 遍歷元素
語法:
for i in set :
print(i)
注意:set是無序的,因此不能通過下標獲取元素。
for index, data in enumerate(set):
print(index, data)
可以通過這種方式,來強行新增下標
s1 = set([1, 2, 3, 4, 5])
for i in s1:
print(i)
for index,data in enumerate(s1):
print(index, data)
輸出:
1
2
3
4
5
0 1
1 2
2 3
3 4
4 5
3.5 交集與並集
語法:
交集 newest = set1 & set2
並集 newest = set1 | set2
s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)
#結果
{4, 5}
{1, 2, 3, 4, 5, 6, 7}