Day3:集合

一、集合的定义及特性

  1.集合的特性

    1.1   去重,把一个列表变成集合,就自动去重了

    1.2   关系测试,测试两组数据之间的交集、差集等关系

  

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_1 = [1,3,5,9,7,5,4]
set_1 = set(list_1)
set_2 = set([2,4,0,6,9,12])
print(set_1,set_2)   #{1, 3, 4, 5, 7, 9} {0, 2, 4, 6, 9, 12}

#交集
print(set_1.intersection(set_2))   # {9, 4}
print(set_1 & set_2)   #第二种写法

#并集
print(set_1.union(set_2))  #{0, 1, 2, 3, 4, 5, 6, 7, 9, 12}
print(set_1 | set_2)  #第二种写法

#差集
print(set_1.difference(set_2))  #in set_1 but no in set_2  : {1, 3, 5, 7}
print(set_1 - set_2)   #第二种写法
print(set_2.difference(set_1))  #in set_2 but no in set_1  : {0, 2, 12, 6}
print(set_2 - set_1)  #第二种写法

#子集、父集
set_3 = set([3,4,5])
print(set_3.issubset(set_1))     #子集  : Ture
print(set_1.issuperset(set_3))   #父集  : Ture

#对称差集
print(set_1.symmetric_difference(set_2))    # {0, 1, 2, 3, 5, 6, 7, 12}
print(set_1 ^ set_2)    #第二种写法

#没有交集
set_4 = set([2,0,6])
print(set_1.isdisjoint(set_4))   #是否没有交集  :Ture

  

二、常用方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_1 = [1,3,5,9,7,5,4]
set_1 = set(list_1)
#set_2 = set([2,4,0,6,9,12])
print(set_1)

#新增
set_1.add(12)    #添加一个值
print(set_1)
set_1.update([12,10,15])   #添加多个值
print(set_1)

#删除
set_1.remove(10)   #参数一定要指定,且无素存在
print(set_1)
set_1.pop()     #随机删除一个元素。
print(set_1)
set_1.discard(0)   #删除不存在的元素也不会报错
print(set_1)

#  长度
print(len(set_1))

#判断某个元素是否在集合中
print(10 in set_1)
print(0 not in set_1)

  

原文地址:https://www.cnblogs.com/hiuhungwan/p/7732464.html