码迷,mamicode.com
首页 > 其他好文 > 详细

集合操作

时间:2017-06-22 18:28:37      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:返回   color   div   子集   打印   style   blog   union   没有   

集合是一个无序的,不重复的数据组合,它的主要作用如下:

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

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

常用操作

list_1 = [1,2,3,4,5,6,7,4,5,6,7]
list_1 = set(list_1) #把列表转换成集合,重复的内容会合并
print(list_1,type(list_1))
{1, 2, 3, 4, 5, 6, 7} <class set>

基本操作

#交集
list_1 = set([1,2,3,4,5,6,7]) #创建一个集合
list_2 = set([3,4,5,100])
print(list_1.intersection(list_2)) #打印list_1和list_2的交集
print(list_1 & list_2) #简写
{3, 4, 5}

#并集
print(list_1.union(list_2)) #将2个集合合并,并去重
print(list_1 | list_2) #简写
{1, 2, 3, 4, 5, 6, 7, 100}

#差集
print(list_1.difference(list_2)) #将list_1中存在,list_2中没有的内容打印
print(list_1 - list_2) #简写
{1, 2, 6, 7}

#对称差集
print(list_1.symmetric_difference(list_2)) #打印list_1和list_2中相互没有的内容
print(list_1 ^ list_2) #简写
{1, 2, 100, 6, 7}

#子集
list_1 = set([1,2,3,4,5,6,7])
list_3 = set([1,2,3])
print(list_3.issubset(list_1)) #查看list_3是不是list_1的子集,因为list_3的内容list_1中全都有,所以返回True
True

#父集
print(list_1.issuperset(list_3)) #查看list_1是不是list_3的父集
True

#判断是否有交集
print(list_1.isdisjoint(list_2))
print(list_1 >= list_2) #简写 False

其他操作

#添加
list_1 = set([1,2,3,4,5,6,7])
list_1.add(99) #添加一项
list_1.update([123,456]) #添加多项
print(list_1) 
{1, 2, 3, 4, 5, 6, 7, 99, 456, 123}

#删除
list_1.remove(1) #删除一项
print(list_1)
{2, 3, 4, 5, 6, 7}
list_1.pop() #随机删一项
print(list_1.discard(9)) #删除一项,集合中没有也不会报错

print(len(list_1)) #打印集合的长度
7

#判断1是否在list_1里
if 1 in list_1:
    print(True)
else:
    print(False)

#判断1000是不是不在list_1里
if 1000 not in list_1:
    print(True)
else:
    print(False)

#浅copy
list4 = list_1.copy()

 

集合操作

标签:返回   color   div   子集   打印   style   blog   union   没有   

原文地址:http://www.cnblogs.com/lin-777/p/7066387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!