Python 集合(Set)
版权所有,未经许可,禁止转载
章节
- Python 介绍
- Python 开发环境搭建
- Python 语法
- Python 变量
- Python 数值类型
- Python 类型转换
- Python 字符串(String)
- Python 运算符
- Python 列表(list)
- Python 元组(Tuple)
- Python 集合(Set)
- Python 字典(Dictionary)
- Python If … Else
- Python While 循环
- Python For 循环
- Python 函数
- Python Lambda
- Python 类与对象
- Python 继承
- Python 迭代器(Iterator)
- Python 模块
- Python 日期(Datetime)
- Python JSON
- Python 正则表达式(RegEx)
- Python PIP包管理器
- Python 异常处理(Try…Except)
- Python 打开文件(File Open)
- Python 读文件
- Python 写文件
- Python 删除文件与文件夹
集合
集合是无序、无索引的数据集。在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()
构造方法来创建集合。
示例
使用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() | 使用此集合和其他集合的并集更新集合 |