Python入门教程+项目实战-13.2节-集合的操作方法

news/2024/11/24 10:05:43/

目录

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里面,就添加starstars.add(star)if star in stars:print("{} in stars now".format(star))

集合中的元素必须是可哈希的数据类型,否则会报类型错误。

代码实例:

# __desc__ = 执行add方法来添加动态的数据类型stars = {"陈法蓉", "陈德蓉"}star = {"吴君如"}if star not in stars:# 如果star 不在集合stars里面,就添加starstars.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, 系统学习后端,爬虫,数据分析,机器学习、量化投资。


http://www.ppmy.cn/news/224672.html

相关文章

【iOS】--响应者链

响应者链 iOS响应者链是一种事件处理机制&#xff0c;它描述了在iOS系统中&#xff0c;当一个事件&#xff08;比如用户点击屏幕或者发送手势&#xff09;发生时&#xff0c;它将从触发事件的源头开始&#xff0c;按照预定义的顺序传递给各个视图或控件进行处理&#xff0c;直…

flowable自动建表失败Table ‘mes_design_test.act_ge_property‘ doesn‘t exist

flowable没有自动建表&#xff0c;错误内容&#xff1a; 2022-05-26 09:27:59.791 ERROR 170048 --- [ main] o.f.c.e.impl.db.CommonDbSchemaManager : Could not get property from table ACT_GE_PROPERTYjava.sql.SQLSyntaxErrorException: Table mes_design_…

GE SR489-P5-HI-A20-E 发电机管理继电器

SR489-P5-HI-A20-E是由GE Multilin为489系列制造的发电机管理继电器。该继电器具有 5 A 相 CT 辅助。HI 控制功率为 90-300 VDC 和 70265 VAC&#xff08;48-62 Hz&#xff09;。该继电器上的模拟输出为 4 至 20 mA。此继电器具有基本显示。当继电器通电时&#xff0c;继电器触…

Can't allocate space for object 'syslogs' in database 'ge' b

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01; 问题描述&#xff1a;00:00000:00001:2007…

GE SR469-P5-HI-A20 带有5A相CT次级线圈的标准装置

SR469-P5-HI-A20提供四路4-20 mA模拟输出。该装置已通过CE认证。这是一个带有5A相CT次级线圈的标准装置。该装置的控制电源额定为90-300伏直流电&#xff0c;70-265伏交流电&#xff0c;48-62赫兹。 制造商美国通用电气公司&#xff0c;通用工业系统电压供应交流电:48-62赫兹时…

Google Earth批量生成地标文件(kml)的Excel VBA代码

转载自https://www.xuebuyuan.com/355105.html Google Earth批量生成地标文件&#xff08;kml&#xff09;的Excel VBA代码 2012年05月17日 ⁄ 综合 ⁄ 共 5510字 ⁄ 字号 小 中 大 ⁄ 评论关闭 据一哥们需求&#xff0c;要把N&#xff08;N>20000&#xff09;多点添加到g…

工业物联网巨星GE和西门子在制造行业齐头并进

随着各种工厂迅速将其业务转移到基于云的物联网平台&#xff0c;通用电气公司&#xff08;GE&#xff09;和西门子公司正在以完全不同的软件战略攻占这一高地。 越来越多制造业客户开始着眼于收集和分析运营技术数据&#xff0c;GE和西门子则以Predix和MindShpere云平台向不同方…

第6篇:Flowable-Modeler详述之常见问题Table act_ge_property doesn't exist

接上一篇&#xff1a; 第5篇&#xff1a; Flowable-Modeler详述之开发环境搭建 https://blog.csdn.net/weixin_40816738/article/details/102887854 文章目录 1. 问题描述2. 问题定位解决方案一解决方案二(推荐) 1. 问题描述 在配置完Springboot的开发环境以后&#xff0c;启动…