Python标准数据类型-集合

本文详细介绍了Python中的集合数据类型,包括如何创建集合、访问元素、添加和删除元素,以及集合的数学运算。通过实例展示了差集、交集、并集等操作,并探讨了集合在去重和关系判断中的应用。

集合

  • 集合(set)是一个无序的不重复元素序列
  • 集合是可变对象
  • 集合中的元素必须为不可变类型

集合的创建

  • {元素,元素…}
  • 使用set函数创建,set(iterable)
  • 创建空集合只能使用set(),{}用于创建空字典

集合的访问

  • 使用 for 循环遍历 set 项目
  • 使用 in, not in关键字查询集合中是否存在指定值。

集合增加元素

  • set1.add(元素) - 在集合中添加指定元素
  • set1.update(序列) - 将序列中的元素全部添加到集合中
a={1,2}; b={3,4}; print(a.update(b))
result:
{1, 2, 3, 4}

集合删除元素

  • set.remove(元素),没有这个元素时报错
  • set1.pop()不能加参数,任意删除一个元素
  • set1.clear(),删除集合中的所有元素
  • set1.discard(元素),删除中指定的元素,当没有时,不报错
  • del set1,删除set1

集合运算

  • 对应的方法中如果有_update,则将原set改变,在原地址上更新。
方法描述举例
符号- (difference方法)多个集合的差集a={1,2,3}; b={1,2,3,4,5};print(b.difference(a)) => {4, 5}
符号&(intersection方法)多个集合的交集a={1,2,3}; b={1,2,3,4,5};print(b.intersection(a)) => {1, 2, 3}
符号|(union)多个集合的并集a={1,2,3}; b={1,2,3,4,5};print(b.union(a))=>{1, 2, 3, 4, 5}
符号^(symmetric_difference)返回两个集合中不重复的元素集合

集合更改

集合添加元素

方法描述举例
set.add(元素)集合中增加一个元素,ID不变a={1,2}; a.add(3);print(a) => {1, 2, 3}
set.update(集合)集合中添加一个集合,相同元素删除,ID不变a={1,2}; b={2,3,4}; a.update(b);print(a) => {1, 2, 3, 4}
set.union() |符号集合并一个集合,ID改变a={1,2}; b={2,3,4}; c=a.union(b);print© => {1, 2, 3, 4}

集合删除元素

方法描述
set.pop()随机删除一个元素,返回删除的元素,ID不变
set.remove(元素)集合中删除一个元素,ID不变
set.clear()删除集合中的所有元素,变为空集合,ID不变
set.discard(元素)集合中删除一个元素,ID不变,如果没有该元素,啥也不做
del set删除该集合

集合关系判断

方法描述举例
=或!=判断两个集合是否相等a={1,2}; a.add(3);print(a) => {1, 2, 3}
符号> <(set.issubset(set))判断是否为子集a={1,2};b={1,2,3,4,5};print(a.issubset(b)) =>True
符号>= <=判断是否为真子集
set.issuperset(set)判断是否为父集a={1,2,3,4};b={1,2,3,4,5};print(b.issuperset(a)) => True
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 Truea={1,2,3,4};b={1,2,3,4,5};print(b.isdisjoint(a)) => False

集合的应用

  • 可以利用集合去重,使用set(list)将列表转换为集合,自动去重。
  • 利用集合可以进行关系测试,例如,求差集、并集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值