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() 使用该集合和其他集合的并集更新集合