Python-设置方法
在本教程中,我们将学习Python中的set方法。
在上一个教程Python-Set中,我们了解了集合。
复习
集合是项目的无序唯一集合。
我们使用大括号" {}"创建一个集合,并使用","逗号分隔各项。
一组项目未编制索引。
好了,让我们开始使用集合方法。
add
我们使用add
方法将新项目添加到给定集合中。
在下面的代码中,我们将一个新项目添加到集合中。
# set mySet = {1, 2} # add mySet.add(3) # output print(mySet) # {1, 2, 3}
clear
我们使用" clear"方法清除给定集合的项目。
注意! clear方法只删除集合中的项目。
在下面的Python程序中,我们将清除给定的集合。
# set mySet = {1, 2, 3} # clear mySet.clear() # output print(mySet) # set()
copy
我们使用copy
方法创建给定集合的副本。
# set mySet = {1, 2, 3} # copy z = mySet.copy() # output print(z) # {1, 2, 3}
difference
我们使用"差异"方法来获取集合" x"中存在的所有项目,而不是集合" y"中存在的所有项目。
语法:
z = x.difference(y)
在下面的Python程序中,我们找到了set x中存在的项目,而不存在于set y中。
# sets x = {1, 2, 3} y = {2, 1, 4} # difference z = x.difference(y) # output print(z) # {3}
difference_update
我们使用difference_update
方法从集合x
中删除项目,该项目也存在于集合y
中。
在下面的Python程序中,我们从set x中删除了也存在于set y中的项。
# sets x = {1, 2, 3} y = {2, 3} # difference update x.difference_update(y) # output print(x) # {1}
discard
我们使用discard
方法从给定集合中删除项目。
如果我们要丢弃的项目在给定集中不存在,则discard
方法不会引发任何错误。
我们还可以使用remove方法从集合中删除项目。
如果要删除的项目不存在,则remove
方法将引发错误。
在下面的Python程序中,我们从水果集中删除"芒果"。
# set fruits = {'apple', 'mango', 'orange', 'banana'} # discard fruits.discard('mango') # output print(fruits) # {'apple', 'banana', 'orange'}
intersection
我们使用"交集"方法来获取一个新集合,该集合是两个集合的交集。
在下面的Python程序中,我们找到了两个给定集合的交集。
# sets x = {1, 2, 3} y = {2, 5} # intersection z = x.intersection(y) # output print(z) # {2}
intersection_update
我们使用" intersection_update"方法从集合" x"中删除集合" y"中不存在的项。
在下面的示例中,我们从" x"集中删除了在" y"集中不存在的项目。
# sets x = {1, 2, 3} y = {2, 5} print("before x:", x) # intersection update z = x.intersection_update(y) # output print("after x:", x)
上面的代码将为我们提供以下输出。
before x: {1, 2, 3} after x: {2}
isdisjoint
我们使用isdisjoint
方法检查两个集合是否不相交。
如果集合" y"中不存在集合" x"的项目,则将返回" True"。
否则为False。
在下面的示例中,我们正在检查x和y是否为不交集。
# sets x = {1, 2, 3} y = {4, 5} print(x.isdisjoint(y)) # True
issubset
我们使用issubset
方法检查给定集合是否为另一个集合的子集。
如果集合" y"中存在集合" x"的所有项目,则将返回" True"。
否则为False。
# sets x = {1, 2, 3} y = {1, 2, 3, 4, 5, 6} print(x.issubset(y)) # True
issuperset
我们使用issuperset
方法检查给定集合是否为另一个集合的超集。
如果集合" y"的所有项目都存在于集合" x"中,则将返回" True"。
否则为False。
# sets x = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0} y = {3, 5, 7} print(x.issuperset(y)) # True
pop
我们使用pop
方法从集合中弹出一个项目。
项目以无序方式保存在集合中,因此,pop
方法可以从集合中弹出任何项目。
如果要确定删除特定项目,请使用丢弃或者删除方法。
pop方法从集合中返回弹出的项目。
因此,我们可以将其保存在变量中。
在下面的Python程序中,我们从集中弹出项目。
# set x = set() print("set x:", x) # add x.add(2) print("after add:", x) x.add('Hello') print("after add:", x) x.add(True) print("after add:", x) x.add(3.14) print("after add:", x) # pop z = x.pop() print("removed item:", z) print("after pop:", x)
当您执行上述Python代码时,您可能会看到类似的结果。
set x: set() after add: {2} after add: {'Hello', 2} after add: {'Hello', True, 2} after add: {'Hello', True, 2, 3.14} removed item: Hello after pop: {True, 2, 3.14}
即使在调用pop方法之前添加了3.14,我们仍然将'Hello'作为弹出项。
remove
我们使用remove
方法从集合中删除特定项目。
如果集合中不存在我们要删除的项目,则会引发错误。
如果要避免错误,请使用废弃方法。
在下面的Python程序中,我们从集合中删除3。
# set x = {1, 2, 3} print("before x:", x) # {1, 2, 3} # remove x.remove(3) print("after x:", x) # {1, 2}
symmetric_difference
我们使用" symmetric_difference"方法从集合" x"和集合" y"中获取两个集合中都不存在的所有项。
在下面的Python程序中,我们找到了两个给定集中都不存在的项目。
# set x = {1, 2, 3} y = {2, 3, 4} # symmetric difference z = x.symmetric_difference(y) print(z) # {1, 4}
注意!在集合x中,项1在y中不存在。
在集合y中,我们有x中不存在的项目4。
因此,选择了1和4。
项目2和3同时出现在这两个集合中,因此被拒绝。
symmetric_difference_update
我们使用" symmetric_difference_update"方法从集合" y"中删除也存在于集合" y"中的项,并插入集合" x"中不存在但集合" y"中的那些项。
在下面的Python程序中,我们将从集合x中删除也出现在集合y中的项目,并在集合x中插入仅出现在集合y中的项目。
# set x = {1, 2, 3} y = {2, 1, 4} # symmetric difference update x.symmetric_difference_update(y) print(x) # {3, 4}
注意!在上述代码中,集合x中的项目1和2也出现在集合y中。
因此,它们从x中删除。
集合x中的项目3不存在于集合y中,因此保留。
类似地,集合y中的项目4不存在于集合x中,因此将其添加到集合x中。
union
我们使用"联合"方法从集合" x"和" y"中获取项目,并排除重复的项目。
在下面的Python程序中,我们发现了两个集合的并集。
# set x = {1, 2, 3} y = {2, 1, 4} # union z = x.union(y) print(z) # {1, 2, 3, 4}
update
我们使用update方法从另一个项目中添加集合x中的项目。
它类似于集合x与集合y的并集。
在下面的Python程序中,我们将更新集合x。
# set x = {1, 2, 3} y = {2, 1, 4} # union x.update(y) print(x) # {1, 2, 3, 4}