python集合类型 (Set Types)

简介: 【8月更文挑战第3天】

image.png
Python 中的集合(Set Types)是一种无序的、不包含重复元素的数据结构。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。Python 提供了两种标准的集合类型:set 和 frozenset。

  1. set
    set 是一个可变的数据类型,意味着你可以添加或删除集合中的元素。创建 set 的方式很简单,只需要将一组元素放在大括号 {} 中,或使用 set() 函数。注意,空的大括号 {} 用来创建空字典,而不是空集合;要创建空集合,必须使用 set()。

示例
python

使用大括号创建集合

my_set = {1, 2, 3, 4, 5}

使用 set() 函数创建集合

another_set = set([1, 2, 3, 4, 5])

空集合的创建

empty_set = set()

添加元素

my_set.add(6)

删除元素

my_set.remove(2) # 如果元素不存在,则抛出 KeyError

或者使用 discard 方法,如果不存在元素,则不抛出异常

my_set.discard(7)

集合的运算

union = my_set | another_set # 并集
intersection = my_set & another_set # 交集
difference = my_set - another_set # 差集
symmetric_difference = my_set ^ another_set # 对称差集

print(union)
print(intersection)
print(difference)
print(symmetric_difference)

  1. frozenset
    frozenset 是一个不可变的数据类型,意味着一旦创建,你就不能添加或删除元素。frozenset 主要用于需要不可变集合的场景,比如作为字典的键或集合的元素。

示例
python

创建一个 frozenset

my_frozenset = frozenset([1, 2, 3, 4, 5])

尝试修改 frozenset 会抛出 TypeError

my_frozenset.add(6) # 这会抛出 TypeError

frozenset 同样支持集合运算

another_frozenset = frozenset([4, 5, 6, 7, 8])
union = my_frozenset | another_frozenset
intersection = my_frozenset & another_frozenset

print(union)
print(intersection)
集合的特点
无序性:集合中的元素是无序的,即集合中的元素没有固定的顺序。
唯一性:集合中的元素是唯一的,即集合中不会出现重复的元素。
集合运算:支持多种集合运算,如并集、交集、差集和对称差集等。
集合类型在 Python 中非常有用,特别是在处理数学上的集合运算或需要快速检查元素是否存在于某个集合中时。

目录
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
170 1
|
3月前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
269 102
|
3月前
|
存储 JSON 算法
Python集合:高效处理无序唯一数据的利器
Python集合是一种高效的数据结构,具备自动去重、快速成员检测和无序性等特点,适用于数据去重、集合运算和性能优化等场景。本文通过实例详解其用法与技巧。
131 0
|
4月前
|
存储 索引 Python
python 集合的所有基础知识
python 集合的所有基础知识
199 0
|
2月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
155 4
|
8月前
|
索引 Python
Python的变量和简单类型
本文介绍了Python中变量命名规则、常用变量类型及字符串操作。变量命名需遵循字母、数字和下划线组合,不能以数字开头且不可与关键字冲突。字符串支持单引号、双引号或三引号定义,涵盖基本输出、转义字符、索引、拼接等操作。此外,还详细解析了字符串方法如`islower()`、`upper()`、`count()`等,帮助理解字符串处理技巧。
212 15
|
3月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
338 2
|
4月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
401 3
|
4月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
159 0
|
4月前
|
IDE API 开发工具
Python类型注解:让代码“开口说话”的隐形助手
Python类型注解为动态语言增添类型信息,提升代码可读性与健壮性。通过变量、函数参数及返回值的类型标注,配合工具如mypy、IDE智能提示,可提前发现类型错误,降低调试与协作成本。本文详解类型注解的实战技巧、生态支持及最佳实践,助你写出更高质量的Python代码。
201 0

推荐镜像

更多