Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元组类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python高级编程

第二十章: Python项目实战

首页 > Python基础教程 > 第十三章: Python集合类型 > 13.2节: 集合的操作方法

13.2节: 集合的操作方法

薯条老师 2020-05-17 10:47:25 233821 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

13.2.1 集合的常用操作方法

集合类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,教同学们彻底掌握集合类型的常用操作方法。

image.png

字典的常用操作方法,主要有分为四类:集合的查找,集合的添加,集合的删除,集合的集合运算。不能对集合中的键进行修改,因为集合中的键必须是静态的数据类型

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和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:


欢迎 发表评论: