python学习 第三章 集合

1.0 集合

1.1集合的写法

方法 一
s = set([1,2,3,4,5,6,7])
方法二
list = [1,2,3,4,5,6]
a = set(list)

1.2 集合的关系测试

s1 = set([1,3,5,7])
list = [2,4,6,7]
s2 = set(list)
#求交集
print(s1.intersection(s2)) #求两组数据均有的内容
#求并集
print(s1.union(s2)) #求两组数据中不重复的内容
#求差集
print(s1.difference(s2)) #求s1中有s2中没有的内容
#求子集
print(s1.issubset(s2)) #s1是否为s2的子集
#求父集
print(s1.issuperset(s2)) #s1是否为s2的父集
#求反向交集
print(s1.symmetric_difference(s2)) #求两组数据中没有交集的数据

#注可用运算符代替
s = set([3,5,9,10])      #创建一个数值集合  
  
t = set("Hello")         #创建一个唯一字符的集合  


a = t | s          # t 和 s的并集  
  
b = t & s          # t 和 s的交集  
  
c = t – s          # 求差集(项在t中,但不在s中)  
  
d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

1.2 集合的操作

基本操作:  
t.add('x')            # 添加一项  
s.update([10,37,42])  # 在s中添加多项  
  
使用remove()可以删除一项:  
t.remove('H')
如果目标不存在会报错
使用remove()也可以删除一项:
t.discard('H')
如果目标不存在不会报错 len(s)
#set 的长度 x in s #测试 x 是否是 s 的成员 x not in s #测试 x 是否不是 s 的成员 s.issubset(t) s <= t #测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t #测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t #返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t #返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t #返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t #返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() #返回 set “s”的一个浅复制

 

posted @ 2018-04-02 15:32  summarys  阅读(52)  评论(0)    收藏  举报