python基本數據類型之集合set

集合set

基本數據類型特色(可變:列表,字典   不可變:字符串,數字,元組)python

  • 不一樣的元素組成
  • 無序
  • 集合中的元素必須是不可變類型,加入可變的類型會報錯
#!/usr/bin/python3
 
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 輸出集合,重複的元素被自動去掉
 
# 成員測試
if('Rose' in student) :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
 
 
# set能夠進行集合運算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
 
print(a - b)     # a和b的差集
 
print(a | b)     # a和b的並集
 
print(a & b)     # a和b的交集
 
print(a ^ b)     # a和b中不一樣時存在的元素
DEMO

方法:

  A、add  添加,添加可變的數據類型也是會報錯的ide

?
1
2
3
s = { 1 , 2 , 5 , 5 , 'g' , 'h' }
s.add( 3 )
print (s)

  執行結果post

?
1
{ 1 , 2 , 3 , 5 , 'h' , 'g' }

  B、clear   清空集合測試

  C、intersection  交集,至關於&spa

?
1
2
3
4
5
6
7
s = { 1 , 7 , 9 }
s1 = { 1 , 9 , 5 }
print (s&s1)
print (s.intersection(s1))
 
{ 9 , 1 }
{ 9 , 1 }

   D、union  並集,至關於 |code

?
1
2
3
4
s = { 1 , 7 , 9 }
s1 = { 1 , 9 , 5 }
print (s|s1)
print (s.union(s1))<br><br>{ 1 , 5 , 7 , 9 }<br>{ 1 , 5 , 7 , 9 }

  E、difference  差集,至關於-blog

?
1
2
3
4
5
6
7
s = { 1 , 7 , 9 }
s1 = { 1 , 9 , 5 }
print (s - s1)
print (s.difference(s1))
 
{ 7 }
{ 7 }

  F、symmetric_difference  交叉補集,至關於^ci

?
1
2
3
4
5
6
7
s = { 1 , 7 , 9 }
s1 = { 1 , 9 , 5 }
print (s^s1)
print (s.symmetric_difference(s1))
 
{ 5 , 7 }
{ 5 , 7 }

  G、difference-update   差集更新rem

  H、isdisjoint        判斷是否有交集字符串

  I、issubset        判斷是否爲子集

?
1
2
3
4
5
6
7
s1 = { 1 , 2 }
s2 = { 1 , 2 , 3 }
print (s1.issubset(s2))
print (s2.issubset(s1))
 
True
False

  J、issuperset       判斷是否爲父集

?
1
2
3
4
5
s1 = { 1 , 2 }
s2 = { 1 , 2 , 3 }
print (s2.issuperset(s1))
 
True

  k、update  更新多個值,可迭代均可傳

  L、pop,remove,discard  均爲刪除

?
1
2
3
4
5
6
7
8
9
s = { 9 , 'sb' , 1 , 2 , 3 , 4 , 5 , 6 }
s.pop()                           # pop不能指定刪除,只能夠隨機刪除
print (s)
s = { 9 , 'sb' , 1 , 2 , 3 , 4 , 5 , 6 # 指定刪除元素,當刪除的元素不存在時,刪除會報錯
s.remove( 4 )
print (s)
s = { 9 , 'sb' , 1 , 2 , 3 , 4 , 5 , 6 }
s.discard( 5 )
print (s)                          # 指定元素刪除;和remove惟一的區別刪除不存在不會報錯
相關文章
相關標籤/搜索