Python-集合(set)
在本教程中,我们将学习使用Python进行设置的知识。
我们在Python-数据类型教程中简要讨论了set。
什么是集合(set)?
集合(set)是项目的无序唯一集合。
我们使用大括号" {}"在Python中创建一个集合,并使用","逗号分隔各项。
在下面的示例中,我们将创建一组整数值。
mySet = {1, 2, 3}
set()构造函数
我们使用set()构造函数在Python中创建一个集合。
# set mySet = set((1, 3.14, 'theitroadtheitroad', 1+2j, True)) print("Type of mySet:", type(mySet)) print(mySet)
Type of mySet: <class 'set'> {1, 3.14, 'theitroadtheitroad', (1+2j)}
集合的项
我们使用len方法来计算给定集合中存在的项总数。
以下Python程序将打印给定集中的项目总数。
# set mySet = {1, 2, 3} print(len(mySet)) # 3
访问集合的项
集合中的项目没有任何索引值。
因此,我们不能像在list和tuple中那样使用索引访问它们。
要访问设置项目,我们使用循环。
在下面的Python程序中,我们将打印出给定集中存在的所有项目。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} # output for item in mySet: print(item)
上面的代码将打印以下输出。
1 3.14 theitroadtheitroad (1+2j)
检查集合项是否存在
要检查某项是否存在于给定集中,我们需要使用in-成员运算符。
如果项目存在于集合中,则" in"运算符将返回" True"。
False,它不存在。
在下面的Python程序中,我们将检查项目是否存在于给定集中。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} # output print(1 in mySet) # True print('hello' in mySet) # False
更改现有的集合项
创建集合的项目后,我们将无法对其进行更改。
新增项
我们使用add方法将新项目添加到给定集合中。
在以下Python程序中,我们将新项目添加到集合中。
# set mySet = {1, 2, 3} # add mySet.add('Hello') # output print(mySet)
上面的代码将打印类似的输出。
{1, 2, 3, 'Hello'}
添加多个项
我们使用update
方法将多个项目添加到给定集合中。
在下面的Python程序中,我们将多个项目添加到集合中。
# set mySet = {1, 2, 3} # add multiple items mySet.update(['theitroadtheitroad', 3.14, True, 1+2j]) # output print(mySet)
我们将获得以下输出。
{1, 2, 3.14, 3, (1+2j), 'theitroadtheitroad'}
删除集合的项
我们使用remove
方法从给定集合中删除项目。
如果我们要删除的项目不存在,则"删除"将引发错误。
在以下Python程序中,我们将从集合中删除项目。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} # remove mySet.remove(1+2j) # output print(mySet)
我们将获得以下输出。
{1, 3.14, 'theitroadtheitroad'}
如果我们要删除的项目不存在,则"删除"将引发错误。
在下面的Python程序中,我们尝试删除集合中不存在的项目。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} # remove mySet.remove('unknown') # output print(mySet)
我们将收到类似以下的错误消息。
Traceback (most recent call last): File "/Users/theitroadtheitroad/PycharmProjects/HelloWorld/Set.py", line 5, in <module> mySet.remove('unknown') KeyError: 'unknown'
删除集合不存在的项
为了避免像remove方法遇到的错误,我们使用discard
方法。
因此,如果该项目不存在于集合中,则discard
方法不会引发任何错误。
在下面的示例中,我们尝试使用discard
方法删除集合中不存在的项目。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} # discard mySet.discard('unknown') # output print(mySet)
在运行上面的代码时,不会引发任何错误,我们将获得以下输出。
{'theitroadtheitroad', 1, 3.14, (1+2j)}
清除集合的项目
我们使用" clear"方法清除给定集合的项目。
在下面的Python程序中,我们将清除给定集中的项目。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} print("before", mySet) # clear mySet.clear() print("after", mySet)
我们将获得以下输出。
before {1, 3.14, 'theitroadtheitroad', (1+2j)} after set()
删除集
我们使用del
关键字来删除集合和项目。
在下面的Python程序中,我们将删除给定的集合。
# set mySet = {1, 3.14, 'theitroadtheitroad', True, 1+2j} del mySet