Python sets


设置

sets是无序和未编制索引的 sets合。在 Python 中, sets用大括号编写。

例子

创建 sets:

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

注: sets是无序的,因此您无法确定项目按什么顺序显示。


访问项目

不能通过引用索引或键来访问 sets合中的项。

但是,您可以使用 循环遍历 sets项,或使用 关键字询问 sets合中是否存在指定值。for in

例子

循环浏览 sets,并打印值:

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

for x in thisset:
  print(x)

例子

检查套装中是否存在"香蕉":

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

print("banana" in thisset)

更改项目

创建 sets后,不能更改其项,但可以添加新项。


添加项目

要将一个项添加到 sets合,请使用 方法。add()

要向 sets合中添加多个项,请使用 方法。update()

例子

使用 方法将项添加到 sets:add()

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

thisset.add("orange")

print(thisset)

例子

使用 方法将多个项添加到 sets:update()

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

thisset.update(["orange", "mango", "grapes"])

print(thisset)


获取 sets的长度

若要确定 sets有多少项,请使用 方法。len()

例子

获取 sets合中的项目数:

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

print(len(thisset))

删除项目

若要删除 sets合中的项,请使用 或 方法。remove() discard()

例子

使用以下方法删除"香蕉"remove()

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

thisset.remove("banana")

print(thisset)

**注:**如果要删除的项不存在,将引发错误。remove()

例子

使用以下方法删除"香蕉"discard()

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

thisset.discard("banana")

print(thisset)

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

还可以使用 的方法删除项,但此方法将删除最后一_个_项。请记住, sets是无序的,因此您将不知道删除的项。pop()

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

例子

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

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

x =  thisset.pop()

print(x)

print(thisset)

注: sets_是无序的_,所以当使用 方法时,您将不知道哪个项被删除。pop()

例子

该方法清空 sets:clear()

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

thisset.clear()

print(thisset)

例子

The keyword will delete the set completely:del

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

del  thisset

print(thisset)

加入两组

有几种方法可以在 Python 中加入两个或多个 sets。

可以使用返回包含两个 sets中所有项的新 sets的方法,也可以使用将一个 sets的所有项插入另一个 sets的方法:union()``````update()

例子

该方法返回包含两个 sets中所有项的新 sets:union()

 set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set3 = set1.union(set2)
print(set3)

例子

该方法将 set2 中的项插入 set1:update()

 set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set1.update(set2)
print(set1)

**注:**和 将排除任何重复项。union() update()

还有其他方法连接两个 sets,只保留重复项,或从不复制,检查本页底部的 sets方法的完整列表。


sets() 构造函数

也可以使用set() 构造函数进行设置。

例子

使用 set() 构造函数进行设置:

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