Python 集合运算2025年8月6日 | 阅读 9 分钟 在 Python 中,集合 (set) 是用于存储集合的四种内置数据类型之一,其他三种是列表 (list)、元组 (tuple) 和字典 (dictionary)。 它是一个无序的、包含唯一元素的集合。集合被认为是可变的 (mutable),这意味着我们可以在创建集合后添加或删除元素。 集合的关键特性
如何在 Python 中创建集合?在 Python 中,我们可以使用内置的 set() 函数 创建集合。我们也可以通过将元素放在花括号 {} 中来定义集合。让我们通过一个例子来理解这一点。 示例输出 {'TpointTech', (1, 2, 3), 14} {'n', 't', 'i', 'T', 'o', 'c', 'p', 'e', 'h'} Python 集合示例示例输出 {25, 5, 15} <class 'set'> 使用 Python 集合进行类型转换类型转换 (Typecasting) 是指将 数据类型 或数据结构转换为另一种形式的过程。 让我们看一个将列表转换为集合的例子。 示例输出 {'w', 'x', 'z'} After adding the letter 'z' {'w', 'x', 'y', 'z'} 使用 Python 集合检查唯一性和不可变性Python 集合不能包含重复值。我们不能直接修改单个元素,但是仍然可以从集合中添加或删除元素。 让我们快速看一个例子。 示例输出 Set with duplicates removed: {10, 20, 30} Python set() 运算Python Set() 运算包含我们都听说过的数学运算符,例如:
现在,我们将通过示例理解所有集合运算。 1. 集合并集 (Set Union)集合并集会将所有集合的元素合并在一起,但不包含重复元素。要查找集合的并集,我们可以使用 union() 方法或 "|" 运算符。 让我们通过一个例子来理解集合并集运算。 示例 1:使用 union() 方法 示例输出 {'T', 'point', 'Tech'} 说明 在上面,我们使用 union() 函数来查找集合的并集,或者说合并两个集合而不包含相同元素。 示例 2:使用 "|" 运算符 示例输出 {'T', 'Tech', 'point'} 2. 集合交集 (Set Intersection)集合交集找出并提取集合中的共同元素。要找出两个集合中的共同元素,我们可以使用 intersection() 方法和 & 运算符。 让我们通过一个例子来理解集合交集运算。 示例 1:使用 intersection() 方法 示例输出 {'point'} 示例 2:使用 "&" 运算符 让我们看看如何使用 & 运算符进行交集运算。 示例输出 {'point'} 说明 在上面两个示例中,我们使用 intersection() 方法和 " & " 运算符来识别两个集合中的共同元素,这里两个集合的共同元素是 "point"。 3. 集合差集 (Set Difference)集合差集比较两个集合,并移除第一个集合中不存在的元素。有两种方法可以找到集合差集:第一种是 difference() 函数,另一种是 " - " 运算符。 让我们通过一个例子来理解这两种集合差集的方法。 示例 1:使用 difference() 函数 示例输出 {'T', 'point'} 示例 2:使用 " - " 示例输出 {'T', 'point'} 说明 在上面的示例中,difference() 方法和 " - " 运算符用于查找集合差集。此运算找出存在于第一个集合但不存在于第二个集合中的元素。 4. 集合对称差集 (Set Symmetric Difference)在对称差集中,我们可以使用 symmetric_difference() 方法或 " ^ 运算符在 Python 中移除两个集合中的共同元素。 让我们通过一个例子来理解集合对称差集。 示例 1:使用 symmetric_difference() 函数 示例输出 {'Ltd', 'point', 'T', 'Pvt'} 示例 2:使用 " ^ " 运算符 示例输出 {'Pvt', 'point', 'Ltd', 'T'} 如何通过运算修改集合我们可以使用一些语法来修改集合并更新变量。有各种方法可以修改集合,例如,用于并集操作的 update() 函数,用于交集的 '&=',用于差集的 '-=',以及用于对称差集的 '^='。除了并集操作,我们可以在每个语法前加上 = 符号来修改集合。 让我们看一些示例来理解如何修改集合。 1. 使用并集修改集合update() 函数允许我们通过添加另一个集合的所有元素来修改集合,从而就地执行并集运算。 语法 让我们看一个使用 update() 函数的例子。 示例输出 {'point', 'Ltd', 'Tech', 'Pvt', 'T'} 注意:输出的元素可能会随机互换。2. 使用交集运算修改集合我们可以使用 " &= " 语法通过交集运算来修改集合。 语法 让我们通过一个使用 " &= " 语法的例子来看看。 示例输出 {'Tech'} 3. 使用差集运算修改集合我们可以使用 " -= " 语法通过差集运算来修改集合。 语法 让我们看一个使用 "-=" 语法的例子。 示例输出 {'T', 'point'} OR {'point', 'T'} 4. 使用对称差集运算修改集合我们可以使用 " ^= " 语法通过差集运算来修改集合。 语法 让我们在示例中使用 "-=" 语法。 示例输出 {'point', 'Ltd', 'T', 'Pvt'} Python 中的其他集合运算Python 中还有一些其他的集合运算,让我们来看其中一些。 1. 判断一个集合是否为另一个集合的子集我们可以使用 issubset() 函数和 <= 运算符来检查集合 A 是否为集合 B 的子集。基本上,这意味着集合 A 的所有元素都必须存在于集合 B 中。 让我们看一个例子 示例输出 False True 1. 判断一个集合是否为另一个集合的超集我们可以使用 issuperset() 函数或 >= 运算符来确定一个集合是否为另一个集合的超集。这表明第二个集合的所有元素都必须包含在第一个集合中。 让我们通过一个例子来看看这个运算。 示例输出 True False 2. 判断两个集合是否没有共同元素isdisjoint() 方法检查两个集合是否没有共同元素。如果它们完全不相交,则返回 True。 语法 让我们通过一个例子来看。 示例输出 True Python 中的 frozenset (冻结集合)Python 中的 frozenset (冻结集合) 允许我们将集合用作 字典的键,而普通集合因为是可变的且不可哈希而无法做到这一点。 顾名思义,"冻结 (Frozen)" 意味着我们不能添加、删除或修改元素。frozenset 是不可变的且可哈希的。 结论Python set() 运算使用数学集合运算,如 并集、交集、差集和对称差集。我们通过大量示例理解了这些。 我们还介绍了如何使用上述相同的数学运算,但使用不同的函数和运算符符号来修改集合。Python 中还有其他集合运算,用于检查子集、超集和无共同元素 (不相交) 的情况。 常见问题解答1. Python 中的基本集合运算有哪些? Python 包含数学集合运算,如并集、交集、差集和对称差集。 2. 如何执行两个集合的并集运算? 我们可以使用 .union() 函数 和 first_set | second_set 运算符来查找两个集合的并集。 3. 集合在 Python 中是可变的吗? 是的,集合在 Python 中是可变的,这意味着我们可以在创建后添加、删除或修改其元素。 4. 如何检查一个集合是否为另一个集合的子集? 我们可以使用 issubset() 函数和 <= 运算符来检查一个集合是否为另一个集合的子集。 5. 如何判断一个集合是否为另一个集合的超集? 我们可以使用 issuperset() 函数和 >= 运算符来检查一个集合是否为另一个集合的子集。 6. 集合可以包含重复元素吗? 不可以,集合不能包含重复元素,因为集合中的所有元素都是唯一的。 7. 集合可以包含不同的数据类型吗? 是的,集合可以包含不同类型的不可变数据类型,如整数、字符串、元组等。 8. 集合可以排序吗? 集合是无序的,要对它们进行排序,我们必须先使用 sorted(set) 将它们转换为列表。 |
Python 文件处理简介 Python 的文件处理系统允许永久存储二进制数据,如图像和可执行文件。它提供了读取、写入、追加和删除文件的有效方法,并以二进制或文本模式处理它们。可以通过...
阅读 3 分钟
? 在 Python 中利用操作系统相关功能的一种方法是使用 OS 模块。它为您提供了访问各种操作系统功能的能力,例如记录操作,包括创建、撤销和重命名记录或目录,以及列出目录内容。pathlib...
5 分钟阅读
卡布列克常数是 6174。这个数字是独一无二的,因为对于任何四位数(但有一个限制,即所有数字不能相同,如0000、1111...),遵循特定程序总能得到它。“asc”是将四位数字按升序排列的结果...
阅读 3 分钟
简介 要从 Python 列表中移除每个字母数字元素,您必须过滤掉那些同时包含字母和数字的项。列表推导式、filter() 函数以及用于正则表达式的 re 模块都可以用来实现这一目标。通常,字母数字...
阅读 6 分钟
在软件开发中,monorepo 或更具体地说,单体存储库是包含许多通常相互关联的项目在一个存储库中的版本控制代码。在 JavaScript 和 Go 等语言中,monorepos 并不少见,Python 最近也出现了这种趋势。在本文中,我们将...
5 分钟阅读
?简介 Python,一种多功能且功能强大的编程语言,提供了强大的文件处理工具。从文件中读取特定行是各种编程场景中的常见需求。无论您是处理大型数据集、日志文件还是配置文件,Python 都提供了几种高效的方法来...
阅读 4 分钟
Vaex 是一个高性能的 Python 模块,用于处理大型数据集。它使客户能够有效地处理、查看和分析不适合内存的数据,而无需将其分散到集群中。Vaex 的核心外 DataFrame 功能使其特别适合...
阅读 8 分钟
在算法和问题解决的世界里,硬币找零问题是一个经典。它是动态规划领域的一个基本问题,动态规划是计算机科学的一个分支,它通过将复杂问题分解为更简单的子问题来解决复杂问题。在本文中,...
阅读 3 分钟
Python 是一种高级的通用编程语言,以其简洁、可读性和多功能性而闻名。它由 Guido van Rossum 创建,于 1991 年首次发布。Python 已成为最流行的编程语言之一,广泛应用于各种领域,包括网络...
阅读 17 分钟
逐步回归是一种统计方法,用于识别与结果变量之间存在强相关性的最佳预测变量子集。这种回归技术用于选择在预测建模中起关键作用的特征。逐步回归的主要目标是...
阅读 15 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India