Python中关于集合的介绍及用法
2024-10-20 09:25:08
一、集合的含义及创建方法
集合(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<b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.issubset(b))
结果:
false
5.判断a是不是b的父集 a>b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.issuperset(b))
结果:
false
6.差集
(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}
最新文章
- springSide部署出现AnnotationConfigUtils.processCommonDefinitionAnnotations(…) is not public!
- VS2012 打开cs文件报未找到与约束错误
- OC语言前期准备
- samba服务器常用指令
- Azure SQL 数据库的灵活缩放预览版简介
- VS2013验证控件出现 WebForms UnobtrusiveValidationMode 必须“jquery”ScriptResour......错误的解决方案
- Ansible详解(一)
- ";the hypervisor is not running"; 故障
- 《Effective Objective-C 2.0》摘要
- ThinkPHP5+Apicloud+vue商城APP实战
- SQLI DUMB SERIES-20
- endnote中文格式“,等”的修改
- 象棋start
- 常用DOS命令之通俗易懂篇
- c# 对话框控件
- openstack--5--控制节点和计算节点安装配置nova
- android listview实现点击某个item后使其显示在屏幕顶端
- nodeJs的npm报错问题
- JavaSE——转换流和缓冲流
- WordCount程序实现