python集合运算_python-集合及其运算

b65b32aa2f76977aa9dc72a93193a2e1.gif
列表:list_1 = [1,4,5,7,3,6,7,9]list_2 =set([2,6,0,66,22,8,4])list_3 = set([1,3,7])list_4 = set([5,6,7,8])

1、通过set变为集合并去重,集合也是无序的。

list_1 = set(list_1)

通过type查看list_1的类型

print(list_1,type(list_1))

运行结果:

{1, 3, 4, 5, 6, 7, 9}

2、取list1和list2的交集

print( list_1.intersection(list_2) )或者print(list_1 & list_2)

运行结果:

{4, 6}

3、取list1和list2的并集

print(list_1.union(list_2))或者print(list_2 | list_1)

运行结果:

{0, 1, 2, 66, 4, 3, 6, 5, 8, 7, 9, 22}

4、取list1和list2的差集

print(list_1.difference(list_2))、print(list_2.difference(list_1))或者

print(list_1 - list_2)

运行结果:

{1, 3, 5, 7, 9}、{0, 2, 66, 8, 22}

{1, 3, 5, 7, 9}

5、取list1h和list3的子集

#list3是list1的子集:print(list_3.issubset(list_1))

#list1是list3的父集:print(list_1.issuperset(list_3))

运行结果:

True

True

6、对称差集,将两个列表都有的部分去掉

print(list_1.symmetric_difference(list_2))或者print(list_1 ^ list_2)

运行结果:

{0, 1, 2, 66, 3, 5, 7, 8, 9, 22}


集合的增删改查

1、增加

list_1.add(999)#增加一项

list_1.update([888,777,555])#增加多项

print(list_1)

运行结果:

{1, 3, 4, 5, 6, 7, 999, 9, 777, 555, 888}

2、删除

print(list_1.pop())

运行结果:

1

3、删除,不返回结果

list_1.discard(888)

运行结果:

None

fd37bb3f2211761d1b01b2c1c287e081.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值