python集合

python集合


特点:去重、关系测试;无序的 ;

功能:增、删、查


应用范围

    1. python班的同学和运维班的同学   其中有同学两个班都报了, 现在要把两个班的同学合并,不能有重复。(求两个列表的并集)

    2. python班的同学和运维班的同学   其中有同学两个班都报了,现在要把两个班都报的同学取出来。(取两个列表的交集)

1
2
3
4
5
6
7
8
9
10
#格式:
set_1 = {123456}
 
#例如去重:
list_1 = [1,2,3,4,5,6,1]
list_1 = set(list_1)            #列表转集合
 
print(list_1,type(list_1))      #打印出来的时候已经没有重复的。
 
输出:{123456} <class 'set'>

集合的所有关系测试

求交集(两个列表都有的)

1
2
3
4
list_1 = [1,2,3,4,5,6,1]
list_1 = set(list_1)
list_2 = set([7,8,9,0,1,2])
print(list_1.intersection(list_2))

求并集(两个列表合并)

1
print(list_1.union(list_2))

求差集(A有,B相对于A没有的)

1
2
print(list_1.difference(list_2))    #list_1 里边有的,list_2相对于list_1里边没有的;
print(list_2.difference(list_1))    #list_2 里边有的,list_1相对于list_2里边没有的;

取子集(两个列表有相同的)

1
2
list_3 = set([1,2])
print(list_3.issubset(list_1))

求父集(两个列表有相同的)

1
print(list_1.issuperset(list_3))

对称差集(把两个列表里边去掉重复的,其他的都取出来)

1
print(list_1.symmetric_difference(list_2))

判断两个列表有没有交集

1
2
list_4 = set([3,4])
print(list_3.isdisjoint(list_4))

运算符求所有关系测试


#交集

print(list_1 & list_2)

#并集

print(list_1 | list_2)

#差集

print(list_1 - list_2)

#对称差集

print(list_1 ^ list_2 )


集合基本操作

添加

1
2
list_1.add(99)
print(list_1)

添加多项

1
2
list_1.update([11,22,33])
print(list_1)

删除(一次只能删除一个)删除的元素不存在 会报错;正常删除一个元素返回一个None 。

1
2
list_1.remove(1)
print(list_1)

任意删除一个元素,并且返回删除的元素;如果没有返回None 。

1
print(list_1.pop())

指定删除一个元素,如果没有元素也不报错,始终返回值为None;

1
print(list_1.discard(1))

查看集合长度

1
print(len(list_1))

x在不在集合里

1
print(2 in list_1)

x是不是不在集合里

1
print(1 not in list_1)




     本文转自506554897 51CTO博客,原文链接:http://blog.51cto.com/506554897/1944938,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值