03、Python内置数据结构:Set

Set: 可变的,无序的,不重复 \color{#FF3030}{可变的,无序的,不重复} 可变的,无序的,不重复的元素的集合
初始化
#空集合初始化:
set() -> new empty set object
#非空集合初始化:
set(iterable) -> new set object 

对集合内元素iterable的要求:

  1. 元素必须可hash(hash可粗略的理解不可变类型,即list这种数据结构是不可做为set的元素)
  2. 不可索引(因无序)
  3. 可迭代

set的特征

集合的元素有三个特征:

1.确定性:集合中的元素必须是确定的;

**2.互异性:**集合中的元素互不相同,如:集合A={1,a},则a不能等于1);

**3.无序性:**集合中的元素没有先后之分,如:{3,4,5}和{3,5,4}算作同一个集合


set的方法
名称作用说明
新增add(elem)增加元素到set中如果元素不存在,则什么都不做(元素不可重复决定
删除pop() -> item移除任意元素(因set无序)空集使用此方法返回KeyError异常
删除discard(elem)从set中移除一个指定元素元素不存在,什么都不做
修改无修改概念,因为元素不可重复,所以修改的值一定是个新值,等效于新增
查询非线性结构无法查询
遍历可迭代所有元素
成员运算符in 和 not in判断一个元素在/不在SET内原理:将set的值做为Key,对key进行hash,用hash值查找,时间复杂度为O(1)

集合的运算
类型结果方法是否就地修改
交集返回合多个集合合并后的新的集合union(*other)
update(*other)
并集返回多个集合的共同元素intersection(*others)
intersection_update(*others)
差集集合AB,返回属于A不属于B的元素difference_update(*others)
difference(*others)
对称差集(补集)集合AB,返回属于A和B交集的元素symmetric_difference(others)
symmetric_difference_update(others)

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值