继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python集合的操作

关注TA
已关注
手记
粉丝
获赞

集合的两大特性:

一、去重

二、关系测试


1、去重效果

>>> l1 = ["张三","李四","王五","张三"]

>>> print(type(l1))                 //查看类型

<class 'list'> 

>>> l1 = set(l1)                  //set把列表变为集合

>>> print(l1)

{'李四', '张三', '王五'}

>>> print(type(l1))

<class 'set'>


2、取两个集合的交集

>>> l1 = set([1,2,3,4,5])

>>> l2 = set([1,6,7,8,9])

>>> print(l1.intersection(l2))            //intersection是交集的意思,两个列表中的交集是"1"

{1}


3、取两个集合的并集

>>> l1 = set([1,2,3,4,5])

>>> l2 = set([1,6,7,8,9])

>>> print(l1.union(l2))                 //union是求并集的意思,也就是两个列表合并后去重

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


4、取两个集合的差集

>>> print(l1.difference(l2))             //也就是l1有,l2没有的元素

{2, 3, 4, 5}


>>> print(l2.difference(l1))            //l2有,l1没有的元素

{8, 9, 6, 7}


5、判断子集和父集,也就是判断是不是包含的关系

>>> l3 = set([2,3,4])

>>> print(l3.issubset(l1))           //l1中的元素包含l3中的元素,所以l3是l1的子集

True

>>> print(l3.issubset(l2))

False

>>> print(l1.issuperset(l3))         //l1是l3的父集

True


6、取出两个集合的对称差集,也就是两个集合中互相都不存在的元素

>>> l1

{1, 2, 3, 4, 5}

>>> l2

{1, 6, 7, 8, 9}

>>> print(l1.symmetric_difference(l2))     //两个集合中除了元素“1”,都互相不存在

{2, 3, 4, 5, 6, 7, 8, 9}



还可以使用运算符完成以上的操作

1、交集:

>>> print(l1 & l2)

{1}


2、并集

>>> print(l1 | l2)

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


3、差集

>>> print(l1 - l2)

{2, 3, 4, 5}


4、对称差集

>>> print(l1 ^ l2)

{2, 3, 4, 5, 6, 7, 8, 9}


集合的增删改查

1、添加集合元素

>>> l1.add(666)        //添加单个元素使用add

>>> print(l1)

{1, 2, 3, 4, 5, 666}

>>> l1.update([777,888,999])            //update方法可以同时添加多个元素

>>> print(l1)

{1, 2, 3, 4, 5, 999, 777, 888, 666}


2、删除集合元素

>>> l1.remove(666)  

>>> print(l1)

{1, 2, 3, 4, 5, 999, 777, 888}


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP