Python 3 介绍(十三)-- Python集合

目录

1. 集合的创建

示例:

2. 集合的特点

3. 访问集合元素

示例:

4. 添加元素

示例:

5. 添加多个元素

示例:

6. 删除元素

示例:

7. 集合的数学操作

7.1 并集 (union)

7.2 交集 (intersection)

7.3 差集 (difference)

7.4 对称差集 (symmetric_difference)

8. 集合的子集和超集判断

示例:

9. 集合的遍历

示例:

10. 冻结集合 (frozenset)

示例:

总结


 

在 Python 3 中,集合(set)是一种数据结构,用于存储唯一且无序的元素。集合的一个重要特性是它的元素不允许重复,这使得集合非常适合用来进行数据的去重操作。另外,集合还支持多种数学集合操作,如并集、交集、差集等。

1. 集合的创建

集合可以使用大括号 {} 或者 set() 构造函数来创建。

示例:

 

python

深色版本

1# 创建一个空集合
2empty_set = set()
3
4# 创建一个包含元素的集合
5numbers = {1, 2, 3, 4, 5}
6
7# 使用 set() 构造函数创建集合
8another_set = set([1, 2, 3, 4, 5])

2. 集合的特点

  • 唯一性:集合中的元素必须是唯一的,重复的元素会被自动去重。
  • 无序性:集合中的元素是没有顺序的,因此不能通过索引来访问集合中的元素。
  • 不可变元素:集合中的元素必须是不可变类型(如整数、字符串等),不能是列表或字典等可变类型。

3. 访问集合元素

由于集合是无序的,不能通过索引来访问元素。但是可以使用 in 关键字来检查元素是否存在于集合中。

示例:

 

python

深色版本

1numbers = {1, 2, 3, 4, 5}
2print(3 in numbers)  # 输出 True
3print(6 in numbers)  # 输出 False

4. 添加元素

可以使用 add() 方法向集合中添加一个新的元素。

示例:

 

python

深色版本

1numbers = {1, 2, 3, 4, 5}
2numbers.add(6)
3print(numbers)  # 输出 {1, 2, 3, 4, 5, 6}

5. 添加多个元素

可以使用 update() 方法向集合中添加多个元素。

示例:

 

python

深色版本

1numbers = {1, 2, 3, 4, 5}
2numbers.update([6, 7, 8])
3print(numbers)  # 输出 {1, 2, 3, 4, 5, 6, 7, 8}

6. 删除元素

可以使用 remove()discard() 方法从集合中删除元素。

示例:

 

python

深色版本

1numbers = {1, 2, 3, 4, 5}
2
3# 使用 remove() 方法
4numbers.remove(3)
5print(numbers)  # 输出 {1, 2, 4, 5}
6
7# 使用 discard() 方法
8numbers.discard(4)
9print(numbers)  # 输出 {1, 2, 5}
10
11# remove() 如果尝试移除不存在的元素会抛出 KeyError
12# discard() 如果尝试移除不存在的元素则不会抛出异常

7. 集合的数学操作

集合支持多种数学集合操作。

7.1 并集 (union)

合并两个集合,结果集合包含所有唯一的元素。

 

python

深色版本

1set1 = {1, 2, 3}
2set2 = {3, 4, 5}
3union_set = set1.union(set2)
4print(union_set)  # 输出 {1, 2, 3, 4, 5}

或者使用 | 操作符:

 

python

深色版本

1union_set = set1 | set2
2print(union_set)  # 输出 {1, 2, 3, 4, 5}

7.2 交集 (intersection)

找出两个集合中共有的元素。

 

python

深色版本

1set1 = {1, 2, 3}
2set2 = {3, 4, 5}
3intersection_set = set1.intersection(set2)
4print(intersection_set)  # 输出 {3}

或者使用 & 操作符:

 

python

深色版本

1intersection_set = set1 & set2
2print(intersection_set)  # 输出 {3}

7.3 差集 (difference)

找出属于一个集合但不属于另一个集合的元素。

 

python

深色版本

1set1 = {1, 2, 3}
2set2 = {3, 4, 5}
3difference_set = set1.difference(set2)
4print(difference_set)  # 输出 {1, 2}

或者使用 - 操作符:

 

python

深色版本

1difference_set = set1 - set2
2print(difference_set)  # 输出 {1, 2}

7.4 对称差集 (symmetric_difference)

找出属于任一集合但不属于两个集合都有的元素。

 

python

深色版本

1set1 = {1, 2, 3}
2set2 = {3, 4, 5}
3symmetric_difference_set = set1.symmetric_difference(set2)
4print(symmetric_difference_set)  # 输出 {1, 2, 4, 5}

或者使用 ^ 操作符:

 

python

深色版本

1symmetric_difference_set = set1 ^ set2
2print(symmetric_difference_set)  # 输出 {1, 2, 4, 5}

8. 集合的子集和超集判断

可以使用 issubset()issuperset() 方法来判断一个集合是否是另一个集合的子集或超集。

示例:

 

python

深色版本

1set1 = {1, 2, 3}
2set2 = {1, 2, 3, 4, 5}
3
4# 子集判断
5print(set1.issubset(set2))  # 输出 True
6
7# 超集判断
8print(set2.issuperset(set1))  # 输出 True

9. 集合的遍历

可以使用 for 循环来遍历集合中的每一个元素。

示例:

 

python

深色版本

1numbers = {1, 2, 3, 4, 5}
2for number in numbers:
3    print(number)

10. 冻结集合 (frozenset)

冻结集合是一种不可变的集合类型,一旦创建后就不能再修改。

示例:

 

python

深色版本

1immutable_set = frozenset({1, 2, 3})
2
3# immutable_set.add(4)  # 会抛出 AttributeError

总结

集合是 Python 中一种非常有用的数据结构,用于存储唯一且无序的元素。集合支持多种操作,包括添加、删除元素以及进行数学集合操作。了解和掌握集合的操作可以帮助你在处理数据时更加高效。无论是用于数据去重、集合操作还是其他数据处理任务,集合都是非常实用的选择。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值