Python中关于集合的介绍及用法是什么
这期内容当中小编将会给大家带来有关Python中关于集合的介绍及用法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一、集合的含义及创建方法
集合(set)是一种无序的并且里面存放不同元素的序列。
集合可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建 集合a 集合b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
二、集合的日常操作方法
1.列表去掉重复的元素
创建一个列表c
c=[1,2,3,1,2]
print(set(a))
结果:
{1, 2, 3}
2.添加元素
(1)add方法
a={1,2,3,4,5,6}b={4,5,6,7,8,9}a.add("abc")print(a)结果:{1, 2, 3, 4, 5, 6, 'abc'}(2)update方法
a={1,2,3,4,5,6}b={4,5,6,7,8,9}a.update("abc")print(a)结果:{1, 2, 3, 4, 5, 6, 'c', 'b', 'a'}
小结:add是单个元素的添加,update是添加一个序列3.删除元素(1)discard方法
a={1,2,3,4,5,6}b={4,5,6,7,8,9}a.discard(5)print(a)
结果:{1, 2, 3, 4, 6}(2)remove方法
a={1,2,3,4,5,6}b={4,5,6,7,8,9}a.remove(5)print(a)
结果:{1, 2, 3, 4, 6}(3)pop方法
a={1,2,3,4,5,6}b={4,5,6,7,8,9}a.pop()print(a)结果:随机删除一个a里面的元素总结:remove和discard都可以删除指定元素,区别是如果删除的元素不存在,remove会报错,discard不报错。4.清空 clear
a={1,2,3,4,5,6}b={4,5,6,7,8,9}a.clear()print(a)结果:set()
5.统计集合元素个数 len
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(len(a))结果:6三、集合间的关系1.a集合与b集合的交集
a={1,2,3,4,5,6}b={4,5,6,7,8,9}e=a.intersection(b)print(e)或者是
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a & b)
结果都是{4, 5, 6}2.a集合与b集合的并集
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a.union(b))或者是
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a | b)结果都是{1, 2, 3, 4, 5, 6, 7, 8, 9}3.a集合与b集合的对称差集(去掉交集后的元素)
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a.symmetric_difference(b))或者是
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a ^ b)结果都是{1, 2, 3, 7, 8, 9}4.判断a是不是b的子集 a<1b<1 p="">
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a.issubset(b))结果:false5.判断a是不是b的父集 a>b
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a.issuperset(b))结果:false6.差集(1)a-b
#在a里不在b集合里的元素
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(a.difference(b))结果:{1, 2, 3} (2)b-a
#在b里不在a集合里的元素
a={1,2,3,4,5,6}b={4,5,6,7,8,9}print(b.difference(a))结果:{8, 9, 7
上述就是小编为大家分享的Python中关于集合的介绍及用法是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341