目录
13.2.1 集合的常用操作方法
13.2.2 集合的查找
13.2.3 集合的添加
13.2.4 集合的删除
13.2.4 集合运算
13.2.5 知识要点
13.2.6 系统学习python
13.2.1 集合的常用操作方法
集合类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,教同学们彻底掌握集合类型的常用操作方法。
字典的常用操作方法,主要有分为四类:集合的查找,集合的添加,集合的删除,集合的集合运算。不能对集合中的键进行修改,因为集合中的键必须是静态的数据类型
13.2.2 集合的查找
(1) 查找键是否存在
查找方法:
name in set
name not in set
name表示集合中的键,返回值为布尔类型,True表示键名存在,False表示键名不存在。not in 表示查找是否不存在。
代码实例:
# __desc__ = 查找集合中的键是否存在
stars = {"陈法蓉", "陈德蓉"}
star = "吴君如"
if star in stars:
print("{} in stars".format(star))
if star not in stars:
print("{} not in stars".format(star))
13.2.3 集合的添加
(1) set.add(key)
将键名key添加至集合中,无返回值。key必须是可哈希的数据类型,否则Python解释器会抛出类型错误的异常信息。
代码实例:
# __desc__ = 执行add方法来添加新的键
stars = {"陈法蓉", "陈德蓉"}
star = "吴君如"
if star not in stars:
# 如果star 不在集合stars里面,就添加star
stars.add(star)
if star in stars:
print("{} in stars now".format(star))
集合中的元素必须是可哈希的数据类型,否则会报类型错误。
代码实例:
# __desc__ = 执行add方法来添加动态的数据类型
stars = {"陈法蓉", "陈德蓉"}
star = {"吴君如"}
if star not in stars:
# 如果star 不在集合stars里面,就添加star
stars.add(star)
# Python在解释执行stars.add(star)时抛出了类型错误的异常
(2) set.update(iterable)
参数iterable表示可迭代对象,执行update方法时,会将可迭代对象中的元素逐一添加到集合中。迄今为止学过的可迭代对象:字符串,列表,元组,字典,集合
代码实例:
# __desc__ = 执行update方法来添加可迭代对象中的元素
container = set()
# 字符串类型是可迭代对象
container.update("abc")
# container的输出为{"a","b","c"}
# 列表类型是可迭代对象
container.update([2])
# container的输出为{"a","b","c",2}
# 元组类型是可迭代对象
container.update((3.0, ))
# container的输出为{"a","b","c",2,3.0}
# 字典类型是可迭代对象
container.update({1: True, 0: False})
# container的输出为{"a","b","c",2,3.0,1,0}
# 集合类型是可迭代对象
container.update({"True", "False"})
# container的输出为{"a","b","c", 2, 3.0, 1, 0, "True", "False"}
13.2.4 集合的删除
(1) set.pop()
执行pop方法来随机删除集合中的元素,集合必须是一个非空集合,否则会抛出异常信息。返回值为被删除的元素。
代码实例:
# __desc__ = 执行pop方法来随机删除集合中的元素
stars = {"陈法蓉", "陈德蓉"}
star = stars.pop()
# star指向的值可能为"陈德蓉"
集合必须是一个非空集合,否则会抛出类型错误的异常信息,我们可以在交互模式中进行验证:
>>> set().pop()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'pop from an empty set'
(2) set.remove(key)
执行remove方法来删除集合中指定的键,键不存在时会抛出异常信息,无返回值。
代码实例:
# __desc__ = 执行remove方法来删除集合中指定的键
stars = {"陈法蓉", "陈德蓉"}
stars.remove("陈法蓉")
# stars的输出为{"陈德蓉"}
# 键必须存在与集合中,否则会抛出键名不存在的异常信息
stars.remove("吴君如")
# Python抛出了异常信息
(1) set.clear()
执行clear方法来清空集合中的元素。
代码实例:
# __desc__ = 执行clear方法来清空集合中的所有元素
stars = {"陈法蓉", "陈德蓉"}
stars.clear()
# stars的输出为set(),表示空的集合
13.2.4 集合运算
通过Python中的集合类型,可以实现数学上的交集,并集,差集运算。
(1) 交集运算
交集,指的是获得两个集合中共有的元素,在Python中使用'&'操作符来实现交集运算。
代码实例:
# __desc__ = 执行&操作符来实现交集运算
hongkong_stars = {"陈法蓉", "陈德蓉"}
all_stars = {"陈德蓉", "林子祥"}
# 计算集合的交集
stars = hongkong_stars & all_stars
# stars的输出为 {"陈德蓉"}
(2) 并集运算
并集指的是将两个集合中的元素进行合并,在Python中使用'|'操作符来实现并集运算。
代码实例:
# __desc__ = 执行|操作符来实现并集运算
hongkong_stars = {"陈法蓉", "陈德蓉"}
all_stars = {"陈德蓉", "林子祥"}
# 计算集合的并集
stars = hongkong_stars | all_stars
# stars的输出为 {"陈法蓉", "陈德蓉", "林子祥"}
(3) 差集运算
差集指的是对两个集合作减法运算,假设有集合A与集合B,那么集合A与集合B的差集表示属于A但不属于B的元素的集合,直接用算数运算符'-'来实现差集运算。
代码实例:
# __desc__ = 执行-操作符来实现差集运算
hongkong_stars = {"陈法蓉", "陈德蓉"}
all_stars = {"陈德蓉", "林子祥"}
# 计算集合的差集,就是对集合做减法运算
stars = hongkong_stars - all_stars
# stars的输出为 {"陈法蓉"}
13.2.5 知识要点
(1) 集合的常用操作方法,主要分为四类:集合的查找,集合的添加,集合的删除,集合的集合运算。
(2) 不能对集合中的键进行修改,因为集合中的键必须是静态的数据类型
(3) 迄今为止学过的可迭代对象:字符串,列表,元组,字典,集合
13.2.6 系统学习python
薯条老师简介:资深技术专家,技术作家,著有《Python零基础入门指南》,《Java零基础入门指南》等技术教程。薯条老师的博客:http://www.chipscoco.com, 系统学习后端,爬虫,数据分析,机器学习、量化投资。