Python怎么给Set添加元素?

文章导读
Previous Quiz Next 添加集合项 添加集合项意味着将新元素包含到现有集合中。在 Python 中,集合是可变的,这意味着在创建后可以修改它们。虽然集合中的元素必须是不可变的(例如整数、字符串或元组),但集合本身可以被修改。
📋 目录
  1. 添加集合项
  2. 使用 add() 方法添加集合项
  3. 使用 update() 方法添加集合项
  4. 使用并集运算符添加集合元素
  5. 使用集合推导式添加集合元素
A A

Python - 添加集合项



Previous
Quiz
Next

添加集合项

添加集合项意味着将新元素包含到现有集合中。在 Python 中,集合是可变的,这意味着在创建后可以修改它们。虽然集合中的元素必须是不可变的(例如整数、字符串或元组),但集合本身可以被修改。

您可以使用多种方法向集合添加项,例如 add()、update(),或者像 union (|) 和集合推导式这样的集合操作。

集合的一个定义特性是它们只能包含不可变(hashable)的对象。这是因为集合内部使用哈希表来进行快速成员测试。不可变对象是 hashable 的,这意味着它们在生命周期内拥有一個不变的哈希值。

使用 add() 方法添加集合项

Python 中的 add() 方法用于向集合添加单个元素。它通过插入指定的元素来修改集合,前提是该元素尚不存在。如果元素已在集合中,add() 方法不会对集合产生任何变化。

语法

以下是向集合添加元素的语法 −

set.add(obj)

其中,obj 是任何不可变类型的对象。

示例

在以下示例中,我们初始化一个名为 "language" 的空集合,并使用 add() 方法向其添加元素 −

# 定义一个空集合
language = set()

# 使用 add() 方法向集合添加元素
language.add("C")
language.add("C++")
language.add("Java")
language.add("Python")

# 打印更新后的集合
print("Updated Set:", language)

它将产生以下输出 −

Updated Set: {'Python', 'Java', 'C++', 'C'}

使用 update() 方法添加集合项

在 Python 中,集合类的 update() 方法用于向集合添加多个元素。它通过将来自可迭代对象(例如另一个集合、列表、元组或字符串)的元素添加到当前集合来修改集合。可迭代对象中的元素如果尚不存在,则会被插入到集合中。

语法

以下是向集合更新元素的语法 −

set.update(obj)

其中,obj 是一个集合或序列对象(列表、元组、字符串)。

示例:添加单个集合项

在下面的示例中,我们初始化一个名为 "my_set" 的集合。然后,使用 update() 方法向集合添加元素 "4" −

# 定义一个集合
my_set = {1, 2, 3}

# 向集合添加元素
my_set.update([4])
# 打印更新后的集合
print("Updated Set:", my_set)

以上代码的输出如下 −

Updated Set: {1, 2, 3, 4}

示例:将任意序列对象作为集合项添加

update() 方法还接受任意序列对象作为参数。

在这个示例中,我们首先定义一个集合和一个元组,lang1 和 lang2,包含不同的编程语言。然后,我们使用 update() 方法将 "lang2" 中的所有元素添加到 "lang1" 中 −

# 定义一个集合
lang1 = {"C", "C++", "Java", "Python"}
# 定义一个元组
lang2 = {"PHP", "C#", "Perl"}
lang1.update(lang2)
print (lang1)

得到的结果如下所示 −

{'Python', 'C++', 'C#', 'C', 'Java', 'PHP', 'Perl'}

示例

在这个示例中,从一个字符串构造一个集合,并使用另一个字符串作为 update() 方法的参数 −

set1 = set("Hello")
set1.update("World")
print (set1)

它将产生以下输出 −

{'H', 'r', 'o', 'd', 'W', 'l', 'e'}

使用并集运算符添加集合元素

在 Python 中,并集运算符 (|) 用于在两个 set 之间执行并集操作。两个 set 的并集包含两个 set 中所有不同的元素,不包含重复项。

我们可以使用并集运算符通过两个 set 之间使用 "|" 运算符或 union() 函数执行并集操作来添加集合元素,这会将两个 set 中的元素合并到一个新 set 中,包含原始 set 中所有唯一元素。

示例

以下示例使用 union() 方法和 | 运算符合并 set,以创建包含原始 set 中唯一元素的新 set −

# 定义三个 set
lang1 = {"C", "C++", "Java", "Python"}
lang2 = {"PHP", "C#", "Perl"}
lang3 = {"SQL", "C#"}

# 执行并集操作 
combined_set1 = lang1.union(lang2)
combined_set2 = lang2 | lang3

# 打印合并后的 set
print ("Combined Set1:", combined_set1)
print("Combined Set2:", combined_set2)

上述代码的输出如下所示 −

Combined Set1: {'C#', 'Perl', 'C++', 'Java', 'PHP', 'Python', 'C'}
Combined Set2: {'C#', 'Perl', 'PHP', 'SQL'}

示例

如果将序列对象作为参数传递给 union() 方法,Python 会自动先将其转换为 set,然后执行并集操作 −

lang1 = {"C", "C++", "Java", "Python"}
lang2 = ["PHP", "C#", "Perl"]
lang3 = lang1.union(lang2)
print (lang3)

产生的输出如下 −

{'PHP', 'C#', 'Python', 'C', 'Java', 'C++', 'Perl'}

使用集合推导式添加集合元素

在 Python 中,集合推导式是一种使用单行代码创建 set 的方式。它允许您通过对可迭代对象(如列表、元组或 range)中的每个项目应用表达式来生成新 set,并可选择包含条件来过滤元素。

我们可以通过遍历可迭代对象、对每个元素应用表达式,并将推导式表达式括在花括号 {} 中来使用集合推导式添加集合元素,从而生成一个包含对每个元素应用表达式结果的新 set。

示例

在以下示例中,我们定义了一个整数列表,然后使用集合推导式生成一个包含这些整数平方的 set −

# 定义一个包含整数的列表
numbers = [1, 2, 3, 4, 5]
# 使用集合推导式创建包含数字平方的 set
squares_set = {num ** 2 for num in numbers}
# 打印包含数字平方的 set
print("Squares Set:", squares_set)

上述代码的输出如下 −

Squares Set: {1, 4, 9, 16, 25}