python 中集合set()常用操作

1. 集合的概念和创建

1.1 概念

python中的集合和数学上的集合基本是没有区别的,元素无序且不重复不可以使用索引访问

1.2 创建集合

  • 方式1:使用花括号{},但其中至少包含一个元素,否则默认创建的是空字典
>>> set1 = {"Hello", "World"}
{"Hello", "World"}
  • 方式2:使用 set(),也可以创建空集合
>>> set2 = set('hello')
{'e', 'o', 'h', 'l'} # 集合会去掉重复元素
  • 方式3:将列表转换为集合
>>> set3 = set([1,2,3,1,2])
{1, 2, 3}
  • 方式4:使用生成列生成列表
>>> set4 = {num for num in range(10) if num % 3 == 0}
{0, 9, 3, 6}

 

2. 集合的方法

2.1 添加元素

  • 方式1:通过 add() 方法为集合添加一个元素,对应于列表的append()
>>> set1 = set()
>>> set1.add(1)
{1}
  • 方式2:通过 update() 方法为集合添加多个元素,对应于列表的extend()
>>> set1 = {1, 2}
>>> set1.update({2, 3})
{1, 2, 3}

2.2 删除元素

  • 方式1:通过 discard() 方法删除指定元素(集合中没有也不会报错
>>> set1 = {1, 2, 3}
>>> set1.discard(1)
{2, 3}
  • 方式2:通过 remove() 方法删除指定元素(集合中没有会报错
>>> set1 = {1, 2, 3}
>>> set1.remove(1)
{2, 3}
  • 方式3:通过 pop() 方法从集合中随机删除一个元素并返回该元素
>>> set1 = {1, 2, 3}
>>> set1.pop()
1
  • 方式4:通过 clear() 方法清空整个集合
>>> set1 = {1, 2, 3}
>>> set1.clear()
set()

2.3 遍历集合

  • 集合不支持索引访问
  • 集合可以通过for循环遍历
set1 = {1, 2, 3}
for i in set1:
    print(i)

 

3. 集合的运算

集合数据类型的运算包括:成员运算、交集并集差集运算、比较运算等。

3.1 成员运算

  • 可以通过成员运算 in not in 判断元素是否在集合中。
  • 注意:我们使用集合而不是向量、列表或数组的原因是因为我们反复检查其中是否存在某元素。检查数字是否在集合中需要 O(1) 的时间,而对于其他数据结构,则需要 O(n) 的时间

3.2 交集运算

  • 方式1:使用 & 运算符
set1 & set2
  • 方式2:使用 intersection() 方法
set1.intersection(set2)

3.3 并集运算

  • 方式1:使用 | 运算符
set1 | set2
  • 方式2:使用 union() 方法
set1.union(set2)

3.4 差集运算

  • 方式1:使用 - 运算符
set1 - set2
  • 方式2:使用 difference() 方法
set1.difference(set2)

3.5 比较运算

  • 两个集合可以使用 == != 进行相等性判断
  • 两个集合可以使用 <  <=  >  >= 进行子集、真子集等判断

参考:https://www.jb51.net/article/226906.htm

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值