Python-设置方法

时间:2020-02-23 14:43:17  来源:igfitidea点击:

在本教程中,我们将学习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}