Python/python sets
<languages />
Python集
Set
集合是无序且无索引的集合。在Python中,集合用大括号括起来。
例
创建一个集合:
thisset = {"apple", "banana", "cherry"} print(thisset)
注意: 集合是无序的,因此您无法确定项目将以什么顺序出现。
存取项目
您不能通过引用索引或键来访问集合中的项目。
但是您可以使用
for
循环,或通过使用来询问集合中是否存在指定值
in
关键词。
例
遍历集合,并打印值:
thisset = {"apple", "banana", "cherry"} for x in thisset: print(x)
例
检查集合中是否存在“香蕉”:
thisset = {"apple", "banana", "cherry"} print("banana" in thisset)
变更项目
创建集后,您将无法更改其项目,但可以添加新项目。
新增项目
要将一个项目添加到集合中,请使用
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()
方法。
例
获取集合中的项目数:
thisset = {"apple", "banana", "cherry"} print(len(thisset))
除去项目
要删除集合中的项目,请使用
remove()
, 或者
discard()
方法。
例
使用以下命令删除“香蕉”
remove()
方法:
thisset = {"apple", "banana", "cherry"} thisset.remove("banana") print(thisset)
注意:
如果要删除的项目不存在,
remove()
会引发错误。
例
使用以下命令删除“香蕉”
discard()
方法:
thisset = {"apple", "banana", "cherry"} thisset.discard("banana") print(thisset)
注意:
如果要删除的项目不存在,
discard()
will
NOT
引发错误。
你也可以使用
pop()
,删除项目的方法,但是此方法将删除
last
项目。请记住,集合是无序的,因此您将不知道要删除的项目。
的返回值
pop()
方法是删除的项目。
例
使用以下项删除最后一项
pop()
方法:
thisset = {"apple", "banana", "cherry"} x = thisset.pop() print(x) print(thisset)
注意:
集是
unordered
,因此在使用
pop()
方法,您将不知道要删除的项目。
例
The
clear()
方法清空集合:
thisset = {"apple", "banana", "cherry"} thisset.clear() print(thisset)
例
The
del
关键字将完全删除该集合:
thisset = {"apple", "banana", "cherry"} del thisset print(thisset)
结合两组
有几种方法可以在Python中连接两个或多个集合。
你可以使用
union()
返回一个新集合的方法,该集合包含两个集合中的所有项,或者
update()
将一组中的所有项目插入另一组中的方法:
例
The
union()
方法返回一个新集合,其中包含两个集合中的所有项目:
set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set3 = set1.union(set2) print(set3)
例
The
update()
方法将set2中的项目插入set1中:
set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set1.update(set2) print(set1)
注意:
Both
union()
and
update()
将排除任何重复的项目。
还有其他方法将两个集合连接起来,并且仅保留重复项,或者永远不保留重复项,请检查此页面底部的set方法的完整列表。
set()构造函数
也可以使用 组() 构造函数进行设置。
例
使用set()构造函数进行设置:
thisset = set(("apple", "banana", "cherry")) # note the double round-brackets print(thisset)
设定方法
Python有一组内置方法,可在集合上使用。
方法 | 描述 |
---|---|
加() | 将元素添加到集合中 |
明确() | 从集合中删除所有元素 |
复制() | 返回集合的副本 |
区别() | 返回一个包含两个或多个集合之间的差的集合 |
Difference_update() | 删除此集合中还包含在另一个指定集合中的项目 |
丢弃() | 删除指定的项目 |
路口() | 返回一个集合,即另外两个集合的交集 |
junction_update() | 删除此集合中其他指定集合中不存在的项目 |
isdisjoint() | 返回两个集合是否有交集 |
issubset() | 返回另一个集合是否包含此集合 |
issuperset() | 返回此集合是否包含另一个集合 |
pop() | 从集合中删除一个元素 |
去掉() | 删除指定的元素 |
symmetric_difference() | 返回具有两组对称差的一组 |
symmetric_difference_update() | 插入此集合和另一个中的对称差 |
联盟() | 返回一个包含集合并集的集合 |
update() | 使用该集合和其他集合的并集更新集合 |