Python集合2025年4月28日 | 阅读10分钟 在 Python 中,集合 (Set) 是用于将多个项目存储在单个变量中的四种内置数据类型之一。集合是无索引且无序的唯一元素集合。例如,当存储员工 ID 信息时,集合是一个合适的选项,因为这些 ID 不能有重复项。 ![]() 让我们看一个集合的简单示例。 示例立即执行输出 {209, 202, 204, 205, 207} 说明 在上面的示例中,我们创建了一个包含多个项目的简单集合。在这里,我们可以看到初始化集合中的项目是无序的。 集合是一种可变数据类型,这意味着我们可以向其中添加或删除数据元素。Python 集合类似于数学中的集合,我们可以执行交集、并集、对称差等操作。 Python 集合的特点Python 中的集合是一种数据类型,它
创建集合在 Python 中创建集合是一个非常简单易行的过程。Python 提供了两种创建集合的方法:
使用花括号可以通过将元素括在花括号 '{}' 中,并用逗号分隔来创建集合。 让我们看一个使用花括号创建集合的简单示例。 示例立即执行输出 {6, 7, 9, 10, 11, 12} {'one', 'three', 'two', 'four', 'five'} {600.0, 'tpointtech', 12, 7.2} 说明 在此示例中,我们使用花括号创建了不同类型的集合。此外,我们可以观察到集合可以存储任意数量的、不同类型的项目,例如 整数、浮点数、元组、字符串 等。但是,集合不能存储可变元素,如列表、集合本身或字典。 使用 set() 函数Python 通过一个名为 set() 的内置函数提供了另一种创建集合的方式。此函数允许我们从传入的可迭代对象创建集合。 以下示例展示了使用 set() 函数的方法 示例立即执行输出 Set 1: {1, 3, 4, 6, 7, 8, 10} Set 2: set() 说明 在上面的示例中,我们使用 set() 函数从给定的列表中创建了集合。我们还通过使用不带参数的 set() 函数创建了一个空集合。 注意:创建空集合有点棘手。空的 {} 花括号在 Python 中会创建一个空字典。访问集合的元素由于集合是无序和无索引的,我们无法通过位置访问元素。但是,我们可以使用循环遍历集合。 让我们看一个展示如何在 Python 中遍历集合的简单示例。 示例立即执行输出 Given Set: {17, 5, 7, 8, 11, 12} Iterating through the Set: 17 5 7 8 11 12 说明 在此示例中,我们使用了 'for' 循环 来遍历给定集合的元素。 向集合中添加元素Python 提供了 add() 和 update() 等方法来向集合中添加元素。
让我们看一个展示如何在 Python 中向集合添加元素的简单示例。 示例立即执行输出 Given Set: {'physics', 'biology', 'chemistry'} Updated Set (Added single element): {'physics', 'biology', 'chemistry', 'maths'} Update Set (Added Multiple elements): {'physics', 'chemistry', 'english', 'biology', 'computer', 'maths'} 说明 在此示例中,我们给出了一个包含 3 个元素的集合。然后我们使用 add() 方法添加了一个新元素到集合中。我们还使用 update() 方法将多个元素添加到了给定的集合中。 从集合中移除元素在 Python 中,我们可以使用 remove()、discard()、pop() 和 clear() 等方法轻松地从给定集合中移除元素。
下面是一个简单的示例,展示了这些方法在 Python 中移除集合元素的工作原理。 示例立即执行输出 Given Set: {'physics', 'chemistry', 'english', 'computer', 'biology', 'maths'} Updated Set (Removed 'maths'): {'physics', 'chemistry', 'english', 'computer', 'biology'} Updated Set (Removed 'chemistry'): {'physics', 'english', 'computer', 'biology'} Updated Set (Removed a random element'): {'english', 'computer', 'biology'} Updated Set (Removed all elements): set() 说明 在此示例中,我们给出了一个包含六个元素的集合。然后我们使用 remove() 和 discard() 方法从集合中移除了指定的元素。然后我们使用 pop() 方法从集合中移除了一个随机元素。最后,我们使用 clear() 方法移除了给定集合中的所有元素。结果,集合变为空。 Python 集合运算与数学中的集合论类似,Python 集合也支持各种数学运算,如并集、交集、差集、对称差集等。 让我们通过示例来讨论其中一些运算。 集合的并集从数学上讲,集合 A 和 B 的并集被定义为所有属于 A 或 B 或两者的元素的集合,并用 A∪B 表示。 ![]() 例如,设 A = {1, 2, 3},B = {2, 3, 4, 5}。因此,A∪B = {1, 2, 3, 4, 5}。 同样,在 Python 中,我们可以通过合并集合的元素并通过 | 运算符或 union() 方法来执行集合的并集,并消除重复项。 让我们看一个展示 Python 中集合并集的简单示例。 示例立即执行输出 Set A: {1, 2, 3} Set B: {2, 3, 4, 5} Union of Sets A and B: Method 1: {1, 2, 3, 4, 5} Method 2: {1, 2, 3, 4, 5} 说明 在上面的示例中,我们定义了两个集合,并通过 | 运算符和 union() 方法执行了它们的并集。 集合的交集从数学上讲,两个集合 A 和 B 的交集被定义为所有同时属于 A 和 B 的元素的集合,并用 A∩B 表示。 ![]() 例如,设 A = {1, 2, 3},B = {2, 3, 4, 5}。因此,A∩B = {2, 3}。 同样,在 Python 中,我们可以使用 & 运算符或 intersection() 方法来执行集合的交集,以返回两个集合中的共同元素。 让我们看一个展示 Python 中集合交集的简单示例。 示例立即执行输出 Set A: {1, 2, 3} Set B: {2, 3, 4, 5} Intersection of Sets A and B: Method 1: {2, 3} Method 2: {2, 3} 说明 在上面的示例中,我们定义了两个集合,并通过 & 运算符和 intersection() 方法执行了它们的交集。 集合的差集从数学上讲,两个集合 A 和 B 的差集被定义为所有属于 A 但不属于 B 的元素的集合,并用 A-B 表示。 ![]() 例如,设 A = {1, 2, 3},B = {2, 3, 4, 5}。因此,A-B = {1} 且 B-A = {4, 5}。 同样,在 Python 中,我们可以使用 - 运算符或 difference() 方法来执行集合的差集,以返回第一个集合中存在但第二个集合中不存在的元素。 让我们看一个展示 Python 中集合差集的简单示例。 示例立即执行输出 Set A: {1, 2, 3} Set B: {2, 3, 4, 5} A - B: Method 1: {1} Method 2: {1} B - A: Method 1: {4, 5} Method 2: {4, 5} 说明 在上面的示例中,我们定义了两个集合,并通过 - 运算符和 difference() 方法执行了它们的差集。 集合推导式在 Python 中,集合推导式允许我们以简洁易懂的方式创建集合。 以下示例演示了 Python 中集合推导式的工作原理 示例立即执行输出 {0, 1, 4, 9, 16, 25} {0, 1, 64, 8, 27, 125} 说明 在上面的示例中,我们使用集合推导式创建了所需的集合。 Python 中的 frozensetfrozenset 是集合的不可变版本,这意味着一旦创建,我们就不能向其中添加或删除元素。我们可以使用 Python 的内置函数 frozenset() 来创建 frozenset 对象。 让我们看一个展示如何在 Python 中创建 frozenset 的简单示例。 示例立即执行输出 frozenset({'two', 'one', 'five', 'four', 'three'}) <class 'frozenset'> 说明 在上面的示例中,我们使用 frozenset() 函数返回了传入的可迭代对象的 frozenset 对象。 Frozensets 是可哈希的对象,可以用作字典的键或另一个集合的元素。 结论Python 集合是处理唯一项集合的强大工具。Python 中的集合提供了高效的操作来测试成员资格、消除重复项以及执行数学集合运算。理解集合及其功能可以极大地提升处理数据和开发 Python 算法的技能。 Python 集合 - 选择题1. Python 集合的主要特点是什么?
答案: c) 它只包含唯一元素 2. 以下哪种是 Python 中创建集合的正确方法?
答案: b) set_A = {2, 4, 6} 3. 以下代码将产生什么结果?
答案: c) 4 4. 以下哪个操作可用于向集合中添加元素?
答案: a) add() 5. 下列代码的输出是什么?
答案: c) {2, 6} 下一个主题Python 集合方法 |
我们请求您订阅我们的新闻通讯以获取最新更新。