Python 集和(set)
-
Python 集合
集合是无序且无索引的集合。在Python中,集用大括号括起来。注意:集合是无序的,因此您不能确定项目将以什么顺序出现。
-
-
变更项目
创建集后,您将无法更改其项目,但可以添加新项目。 -
新增项目
要将一个项目添加到集合中,请使用 add() 方法。 要向一个集合中添加多个项目,请使用 update() 方法。使用以下 add() 方法将项目添加到集合中:
尝试一下thisset = {"apple", "banana", "cherry"} thisset.add("orange") print(thisset)
使用以下 update() 方法将多个项目添加到集合中:
尝试一下thisset = {"apple", "banana", "cherry"} thisset.update(["orange", "mango", "grapes"]) print(thisset)
-
获取集合的长度
要确定集合中有多少项,请使用 len() 方法。 -
除去项目
要删除集合中的项目,请使用 remove() 或 discard() 方法。使用以下remove() 方法删除“banana” :
尝试一下thisset = {"apple", "banana", "cherry"} thisset.remove("banana") print(thisset)
注意:如果要删除的项目不存在,remove() 将引发错误。
使用以下 discard() 方法删除“banana” :
尝试一下thisset = {"apple", "banana", "cherry"} thisset.discard("banana") print(thisset)
注意:如果要删除的项目不存在,discard() 则不会引发错误。
您也可以使用 pop(),方法删除一个项目,但是此方法将删除最后一个项目。请记住,集合是无序的,因此您将不知道要删除的项目。 pop() 方法的返回值是移除的项目。使用以下 pop() 方法删除最后一项:
尝试一下thisset = {"apple", "banana", "cherry"} x = thisset.pop() print(x) print(thisset)
注意:集是无序的,因此使用 pop() 方法时,您将不知道要删除的项。
-
结合两组
有几种方法可以在Python中连接两个或多个集合。您可以使用 union() 返回包含两个集合中所有项目的新集合的方法,也可以使用将一个集合中的所有项目 update() 插入另一个集合的方法:union() 方法返回一个新集合,其中包含两个集合中的所有项目:
尝试一下set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set3 = set1.union(set2) print(set3)
update() 方法将set2中的项目插入set1中:
尝试一下set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set1.update(set2) print(set1)
注意:无论 union() 和 update() 将排除任何重复的项目。
还有其他方法将两个集合连接起来,并且仅保留重复项,或者永远不保留重复项,请检查此页面底部的set方法的完整列表。 -
set() 构造函数
也可以使用 set() 构造函数进行初始化一个set。使用 set() 构造函数进行设置:
尝试一下thisset = set(("apple", "banana", "cherry")) # note the double round-brackets print(thisset)
-
集合方法
Python有一组内置方法,可以在集合上使用。方法 描述 add() 将元素添加到集合中 clear() 从集合中删除所有元素 copy() 返回集合的副本 difference() 返回一个包含两个或多个集合之间的差的集合 difference_update() 删除此集合中还包含在另一个指定集合中的项目 discard() 删除指定的项目 intersection() 返回一个集合,即另外两个集合的交集 intersection_update() 删除此集合中其他指定集合中不存在的项目 isdisjoint() 返回两个集合是否有交集 issubset() 返回另一个集合是否包含此集合 issuperset() 返回此集合是否包含另一个集合 pop() 从集合中删除一个元素 remove() 删除指定的元素 symmetric_difference() 返回具有两组对称差的一组 symmetric_difference_update() 插入此集合和另一个中的对称差 union() 返回一个包含集合并集的集合 update() 使用该集合和其他集合的并集更新集合