Python 添加集合项
即使集合仅持有不可变对象,集合本身是可变的。我们可以用以下任意方式向集合中添加新项:
add()方法
set 类中的 add() 方法添加一个新元素。如果元素已经存在于集合中,集合不会发生变化。
语法
set.add(obj)
参数
- obj - 任意不可变类型的对象。
示例
看下面的例子 –
lang1 = {"C", "C++", "Java", "Python"}
lang1.add("Golang")
print (lang1)
它将产生以下 输出 −
{'Python', 'C', 'Golang', 'C++', 'Java'}
update()方法
set类的update()方法将包括作为参数给定的集合的元素。如果其他集合中的元素中存在一个或多个已经存在的项,则不会被包括。
语法
set.update(obj)
参数
- obj - 一个集合或序列对象(列表、元组、字符串)
示例
下面的示例展示了update()方法的工作原理 –
lang1 = {"C", "C++", "Java", "Python"}
lang2 = {"PHP", "C#", "Perl"}
lang1.update(lang2)
print (lang1)
这将产生以下 输出 −
{'Python', 'Java', 'C', 'C#', 'PHP', 'Perl', 'C++'}
示例
update() 方法还接受任何序列对象作为参数。这里,一个元组是 update() 方法的参数。
lang1 = {"C", "C++", "Java", "Python"}
lang2 = ("PHP", "C#", "Perl")
lang1.update(lang2)
print (lang1)
它将生成以下 输出 −
{'Java', 'Perl', 'Python', 'C++', 'C#', 'C', 'PHP'}
示例
在这个示例中,从一个字符串构建了一个集合,另一个字符串被用作update()方法的参数。
set1 = set("Hello")
set1.update("World")
print (set1)
它将产生以下 输出 –
{'H', 'r', 'o', 'd', 'W', 'l', 'e'}
union() 方法
set 类的 union() 方法还会将两个集合的唯一项合并在一起,但它返回一个新的集合对象。
语法
set.union(obj)
参数
- obj − 一个集合或者序列对象(列表、元组、字符串)
返回值
union() 方法返回一个集合对象
示例
以下示例展示了 union() 方法的使用方式−
lang1 = {"C", "C++", "Java", "Python"}
lang2 = {"PHP", "C#", "Perl"}
lang3 = lang1.union(lang2)
print (lang3)
它将产生以下的 输出 –
{'C#', 'Java', 'Perl', 'C++', 'PHP', 'Python', 'C'}
示例
如果将一个序列对象作为参数传递给union()方法,Python会自动将其转换为集合,然后执行并集操作。
lang1 = {"C", "C++", "Java", "Python"}
lang2 = ["PHP", "C#", "Perl"]
lang3 = lang1.union(lang2)
print (lang3)
它将生成以下 输出
{'PHP', 'C#', 'Python', 'C', 'Java', 'C++', 'Perl'}
示例
在这个例子中,从一个字符串构建了一个集合,并且另一个字符串作为参数用于union()方法。
set1 = set("Hello")
set2 = set1.union("World")
print (set2)
将会产生以下 输出 −
{'e', 'H', 'r', 'd', 'W', 'o', 'l'}