首页 > 编程 > Python > 正文

Python集合操作方法详解

2020-02-15 21:18:37
字体:
来源:转载
供稿:网友

集合是无序的,天生不重复的数据组合,它的作用如下:

去重,即:把一个列表变成集合,就去重了 关系测试,即:测试两组集合的交集、并集和差集等

一、集合常用方法总结

二、定义

1、语法

>>> name_1 = [1,2,3,4,7,8,7,10]#把列表转换为集合>>> name_1 = set(name_1)#转换后,去重>>> print(name_1,type(name_1)){1, 2, 3, 4, 7, 8, 10} <class 'set'>

 三、关系测试

1、交集(intersection())

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_2 = [1,3,5,8,10]>>> name_1 = set(name_1)>>> name_2 = set(name_2)#输出结果>>> name_1.intersection(name_2){8, 1, 10, 3}

2、并集(union())

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_2 = [1,3,5,8,10]>>> name_1 = set(name_1)>>> name_2 = set(name_2)#输出结果>>> name_1.union(name_2){1, 2, 3, 4, 5, 7, 8, 10}

 3、差集(difference())

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_2 = [1,3,5,8,10]>>> name_1 = set(name_1)>>> name_2 = set(name_2)#输出结果>>> name_1.difference(name_2){2, 4, 7}

 特别提示:差集取的是数值在第一个集合中,但是不在第二个集合中(在我不在你)

4、issubset()

判断一个集合是否是另一个集合的子集

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_3 = [1,2,3,4]>>> name_1 = set(name_1)>>> name_3 = set(name_3)#输出结果>>> name_3.issubset(name_1)True

 5、issuperset()

判断一个集合是否是另一个集合的父集

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_3 = [1,2,3,4]>>> name_1 = set(name_1)>>> name_3 = set(name_3)#输出结果>>> name_1.issuperset(name_3)True

 6、对称差集(symmetric_difference())

 把两个集合没有交集的数值取出来

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_2 = [1,3,5,8,10]>>> name_1 = set(name_1)>>> name_2 = set(name_2)#输出结果>>> name_1.symmetric_difference(name_2){2, 4, 5, 7}

 7、isdisjoint()

判断两个集合是否有交集,没有交集,则返回True

>>> name_1 = [1,2,3,4,7,8,7,10]>>> name_2 = [1,3,5,8,10]>>> name_3 = [11]>>> name_1 = set(name_1)>>> name_2 = set(name_2)>>> name_3 = set(name_3)#有交集>>> name_1.isdisjoint(name_2)False#无交集>>> name_1.isdisjoint(name_3)True            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表