集合是无序、无索引的数据集。在Python中,集合用花括号包裹。
示例
创建集合:
thisset = {"自行车", "汽车", "高铁"}
print(thisset)
注意: 集合是无序的,因此项目将以随机顺序出现。
不能通过索引来访问集合项,因为集合是无序的,这些项没有索引。
但是您可以使用for
循环遍历集合项,使用in
关键字查询集合中是否存在指定值。
示例
遍历集合,并打印值:
thisset = {"自行车", "汽车", "高铁"}
for x in thisset:
print(x)
示例
检查“汽车”是否出现在集合中:
thisset = {"自行车", "汽车", "高铁"}
print("汽车" in thisset)
集合一旦创建,就不能更改,但是可以添加新项。
要向集合中添加一项,使用add()
方法。
若要向集合添加多个项,使用update()
方法。
示例
使用add()
方法向集合添加一个项:
thisset = {"自行车", "汽车", "高铁"}
thisset.add("飞机")
print(thisset)
示例
使用update()
方法向一个集合添加多个项:
thisset = {"自行车", "汽车", "高铁"}
thisset.update(["飞机", "轮船", "电动车"])
print(thisset)
要确定一个集合有多少项,可以使用len()
方法。
示例
获取集合长度:
thisset = {"自行车", "汽车", "高铁"}
print(len(thisset))
要删除集合中的项,使用remove()
或discard()
方法。
示例
使用remove()
方法删除“汽车”:
thisset = {"自行车", "汽车", "高铁"}
thisset.remove("汽车")
print(thisset)
注意: 如果要删除的项不存在,
remove()
将引发错误。
示例
使用discard()
方法删除“汽车”:
thisset = {"自行车", "汽车", "高铁"}
thisset.discard("汽车")
print(thisset)
注意: 如果要删除的项不存在,
discard()
不会引发错误。
您还可以使用pop()
方法删除项,但该方法只删除最后一项。因为集合是无序的,所以您不知道删除了哪些项。
pop()
方法的返回值是已删除的项。
示例
使用pop()方法删除最后一项:
thisset = {"自行车", "汽车", "高铁"}
x = thisset.pop()
print(x)
print(thisset)
注意: 集合是无序的,所以当使用
pop()
方法时,您将不知道删除了哪个项。
示例
clear()
方法清空集合:
thisset = {"自行车", "汽车", "高铁"}
thisset.clear()
print(thisset)
示例
del
关键字将删除整个集合,包括集合自身:
thisset = {"自行车", "汽车", "高铁"}
del thisset
print(thisset)
也可以使用set()
构造方法来创建集合。
示例
使用set()
构造方法创建集合:
thisset = set(("自行车", "汽车", "高铁")) # 注意双圆括号
print(thisset)
Python有一组可以在set上使用的内置方法。
方法 | 描述 |
---|---|
add() | 向集合中添加元素 |
clear() | 从集合中移除所有元素 |
copy() | 返回集合的副本 |
difference() | 返回一个集合,该集合包含两个或多个集合之间的差别项目 |
difference_update() | 移除此集合中与另一个集合相同的项 |
discard() | 删除指定项 |
intersection() | 返回一个集合,它是另外两个集合的交集 |
intersection_update() | 移除此集合中其他集合中不存在的项 |
isdisjoint() | 返回两个集合是否有交集 |
issubset() | 返回另一个集合是否包含此集合 |
issuperset() | 返回此集合是否包含另一个集合 |
pop() | 从集合中移除一个元素 |
remove() | 移除指定的元素 |
symmetric_difference() | 返回具有两个集合的对称差异的集合 |
symmetric_difference_update() | 插入来自这个集合和另一个集合的对称差异 |
union() | 返回包含集合并集的集合 |
update() | 使用此集合和其他集合的并集更新集合 |
← Python 元组(Tuple)
Python 字典(Dictionary) →