轻松上手,快乐学习!

Python 集(Set)


set

集合是无序和无索引的集合。在Python中,集合用大括号写成{}

实例

创建一个集合:

thisset = {"apple", "banana", "cherry"}
print(thisset)

运行实例 »

注意:集合是无序的,因此项目将以随机顺序显示。


访问项目

无法通过引用索引来访问集合中的项目,因为集合是无序的,项目没有索引。

但是可以使用for遍历 ,关键字用in查找项是否在集合中 。

实例

遍历集合,并打印值:

thisset = {"apple", "banana", "cherry"}
for x in thisset:
  print(x)

运行实例 »

实例

检查集合中是否存在“banana”:

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() 方法删除“banana” :

thisset = {"apple", "banana", "cherry"}

thisset.remove("banana")

print(thisset)

运行实例 »

注意:如果要删除的项目不存在,remove()则会引发错误。

实例

使用以下discard() 方法删除“banana” :

thisset = {"apple", "banana", "cherry"}

thisset.discard("banana")

print(thisset)

运行实例 »

注意:如果要删除的项目不存在,discard()则 不会引发错误。

您也可以使用pop()方法删除项目,但此方法将删除最后一项。请记住,集合是无序的,因此您不会知道要删除的项目。

pop()方法的返回值是已删除的项目。

实例

使用以下pop() 方法删除最后一项:

thisset = {"apple", "banana", "cherry"}

x = thisset.pop()

print(x)

print(thisset)

运行实例 »

注意:集合是无序的,因此在使用该pop()方法时,您将不知道要删除的项目。

实例

clear() 方法清空集合:

thisset = {"apple", "banana", "cherry"}

thisset.clear()

print(thisset)

运行实例 »

实例

del关键字将完全删除该集:

thisset = {"apple", "banana", "cherry"}

del thisset

print(thisset)

运行实例 »


set()构造函数

也可以使用set() 构造函数来创建一个集合。

实例

使用set()构造函数创建一个集合:

thisset = set(("apple", "banana", "cherry")) # note the double round-brackets
print(thisset)

运行实例 »


设置方法

Python有一组可以在集合上使用的内置方法。

方法 描述
add() 为集合添加元素
clear() 从集合中删除
copy() 复制
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 删除集合中的元素,该元素在指定的集合中不存在。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素