十五、【Python】基础教程-【Python全掌握】六大基础数据类型:集合(set)类型的终极指南


目录

一、集合(set)

1. 创建集合

2. 添加元素

3. 移除元素

4. 集合的并集

5. 集合的交集

6. 集合的差集

7. 集合的对称差集

8. 检查子集和超集

9. 更新集合

10. 集合的长度

11. 遍历集合

12. 判断元素是否在集合中

13. 集合的不可变版本


一、集合(set)

      集合(set)在Python中是一种无序且不包含重复元素的数据类型。集合支持数学上的集合运算,如交集、并集、差集和对称差等。下面是一些常用的集合操作及其示例:

1. 创建集合

  • 使用大括号 {} 或 set() 函数创建集合。
s1 = {1, 2, 3}
s2 = set([1, 2, 2, 3, 4])
empty_set = set()

2. 添加元素

  • 使用 add() 方法向集合中添加一个元素。
s1.add(4)

3. 移除元素

  • 使用 remove() 或 discard() 方法移除元素。
s1.remove(4)  # 如果元素不存在,会抛出 KeyError
s1.discard(5)  # 如果元素不存在,什么也不做

4. 集合的并集

  • 使用 union() 方法或 | 运算符获取两个集合的并集。
union_set = s1.union(s2)
union_set2 = s1 | s2

5. 集合的交集

  • 使用 intersection() 方法或 & 运算符获取两个集合的交集。
intersection_set = s1.intersection(s2)
intersection_set2 = s1 & s2

6. 集合的差集

  • 使用 difference() 方法或 - 运算符获取两个集合的差集。
difference_set = s1.difference(s2)
difference_set2 = s1 - s2

7. 集合的对称差集

  • 使用 symmetric_difference() 方法或 ^ 运算符获取两个集合的对称差集。
symmetric_diff_set = s1.symmetric_difference(s2)
symmetric_diff_set2 = s1 ^ s2

8. 检查子集和超集

  • 使用 issubset() 和 issuperset() 方法检查一个集合是否是另一个集合的子集或超集。
is_subset = s1.issubset(s2)
is_superset = s2.issuperset(s1)

9. 更新集合

  • 使用 update()intersection_update()difference_update(), 和 symmetric_difference_update() 方法原地修改集合。
s1.update(s2)
s1.intersection_update(s2)
s1.difference_update(s2)
s1.symmetric_difference_update(s2)

10. 集合的长度

  • 使用 `len()` 函数获取集合的元素数量。
length = len(s1)

11. 遍历集合

  • 使用 `for` 循环遍历集合中的元素。
for element in s1:
    print(element)

12. 判断元素是否在集合中

  • 使用 `in` 关键字检查元素是否在集合内。
if 1 in s1:
    print("Element is in the set.")

13. 集合的不可变版本

  • 使用 `frozenset()` 创建不可变的集合,这在需要将集合作为字典键或集合元素的场合非常有用。
frozen_set = frozenset(s1)

     集合非常适合用于去除重复元素、执行集合运算和快速查找元素。由于集合内部实现为哈希表,因此元素的添加、移除和查找操作通常具有 O(1) 的平均时间复杂度,这使得集合在大数据量和高性能需求的场景中特别有用。

需要Demo源码的同学,可以前往以下地址下载学习。

链接:https://pan.baidu.com/s/1ByWLkiXO9V5N2vjjvjpDkw?pwd=ucwg 
提取码:ucwg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值