Python set 拾遗

  • 初始化
s = set('abc') # {'a', 'b', 'c'}
print(s)
s = set(['a', 'b', 'c']) # {'a', 'b', 'c'}
print(s)
  • add()添加
s = set(['a', 'b', 'c'])
print(s)

s.add('e')
print(s) # {'a', 'e', 'c', 'b'}
  • clear()清除
  • discard()删除
  • remove删除(当要删除的元素不存在时,抛出异常)
  • pop() 随机删除一个元素(当集合为空时,抛出异常)
s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s.discard('e')           # {'b', 'a', 'c'}
print(s)
s.discard('a')           # {'b', 'c'}
print(s)

s.remove('b')           # {'c'}
print(s)

s.remove('e')           # raise KeyError: 'e'

s.clear()  # set()
print(s)



s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)

print(s.pop())            # 随机
print(s)
s.pop()
s.pop()
print(s)                  # set()
s.pop()                   # KeyError: 'pop from an empty set'
  • copy()复制
s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = s.copy()  # {'c', 'b', 'a'}
print(s2)
  • difference()差
  • difference_update()用差更新集合
  • symmetric_difference() 对称差
  • symmetric_difference_update() 用对称差更新(只剩除了交集的了)
s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = set('bcef')          # {'b', 'e', 'c', 'f'}
print(s2)
print(s2.difference(s))   # {'e', 'f'}
print(s.difference(s2))   # {'a'}



s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = set('bcef')          # {'b', 'e', 'c', 'f'}
print(s2)
s.difference_update(s2)   # {'a'}
print(s)
s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2.difference_update(s)  # {'e', 'f'}
print(s2)



s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = set('bcef')          # {'b', 'e', 'c', 'f'}
print(s2)

print(s.symmetric_difference(s2))   # {'e', 'f', 'a'}
s.symmetric_difference_update(s2)   # {'e', 'f', 'a'}
print(s)
  • intersection()交集
s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = set('bcef')          # {'b', 'e', 'c', 'f'}
print(s2)
print(s.intersection(s2)) # {'b', 'c'}
print(s2.intersection(s)) # {'b', 'c'}


print(s)                  # {'c', 'b', 'a'}
print(s2)                 # {'c', 'f', 'b', 'e'}
s.intersection_update(s2) 
print(s)                  # {'c', 'b'}
  • isdisjoint()判断是否相交
  • issubset() 判断是否是子集
  • issuperset() 判断是否是父集
s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = set('bcef')          # {'b', 'e', 'c', 'f'}
print(s2)
s3 = set('gh')          # {'g', 'h'}
print(s3)
print(s.isdisjoint(s2)) # False
print(s.isdisjoint(s3)) # True
s4 = set('abcd')          # {'b', 'c', 'd', 'a'}
print(s4)
print(s.issubset(s2))     # False
print(s.issubset(s4))     # True

print(s.issuperset(s4))     # False
print(s4.issuperset(s))   # True
  • union() 并集
  • update() 用并集更新

s = set(['a', 'b', 'c'])  # {'b', 'a', 'c'}
print(s)
s2 = set('bcef')          # {'b', 'e', 'c', 'f'}
print(s2)
print(s.union(s2))        # {'c', 'a', 'f', 'b', 'e'}


s.update(s2)              # {'c', 'a', 'f', 'b', 'e'}
print(s)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值