任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)

2024-08-19
| 16页
| 196人阅读
| 16人下载
普通

内容正文:

单元4 组合数据类型 任务4-1:利用集合删除重复值 【任务目标】 从键盘输入多个数,删除重复值后输出,程序运行结果如下。 请输入多个数(用英文逗号分隔):1,1,2,2,3,3,4,4,5,5 无重复的数据:1 2 3 4 5 【任务实施】 演示过程…… 4.1 集合 Python中的集合主要用于保存不重复的元素。 Python中有set(集合)和frozenset(冻结集合)两种集合类型,后者在本书中不做介绍。本书中提及的“集合”主要指set类型的集合。 集合中的元素具有唯一、无序和不可改变等特点。集合支持数学理论中的各种集合运算。 本节主要内容: 集合常量 集合运算 集合基本操作 4.1.1 创建集合 集合对象可用花括号{}表示,其中的元素使用逗号分隔。也可用内置的set()函数创建集合对象 示例代码如下。 >>> x={1,2,3} #直接使用集合常量 >>> x {1, 2, 3} >>> type(x) #测试集合对象的类型名称 <class 'set'> >>> set({1,2,3}) #用集合常量做参数创建集合对象 {1, 2, 3} >>> set([1,2,3]) #用列表常量做参数创建集合对象 {1, 2, 3} >>> set('123abc') #用字符串常量做参数创建集合对象 {'a', '3', 'b', 'c', '2', '1'} >>> set() #创建空集合 set() >>> type({}) #{}表示空字典对象 <class 'dict'> 集合中的元素不允许有重复值 在创建集合对象时,Python会自动去掉重复值 示例代码如下。 >>> {1,1,2,2} {1, 2} >>> set([1,1,2,2]) {1, 2} Python 3.0还引入了集合解析构造方法,示例代码如下。 >>> {x for x in [1,2,3,4]} {1, 2, 3, 4} >>> {x for x in 'abcd'} {'c', 'a', 'b', 'd'} >>> {x ** 2 for x in [1,2,3,4]} {16, 1, 4, 9} >>> {x * 2 for x in 'abcd'} {'aa', 'bb', 'cc', 'dd'} 4.1.2 集合运算 集合对象支持求长度、判断包含、求差集、求并集、求交集、求对称差和比较等运算,示例代码如下。 >>> x={1,2,'a','bc'} >>> y={1,'a',5} >>> len(x) #求长度:计算集合中元素的个数 4 >>> 'a' in x #判断包含:判断集合是否包括数据 True >>> x – y #求差集:用属于x但不属于y的元素创建新集合 {2, 'bc'} >>> x | y #求并集:用x、y两个集合中的所有元素创建新集合 {1, 2, 'a', 'bc', 5} >>> x & y #求交集:用同时属于x和y的元素创建新集合 {1, 'a'} >>> x ^ y #求对称差:用属于x但不属于y以及属于y但不属于x的元素创建新集合 {2, 5, 'bc'} >>> x < y #比较:判断子集和超集的关系,x是y的子集时返回True,否则返回False False >>> {1,2}<x True 4.1.3 集合基本操作 集合对象元素的值不支持修改 可以复制集合、为集合添加或删除元素 示例: >>> x={1,2} >>> y=x.copy() #复制集合对象 >>> y {1, 2} >>> x.add('abc') #为集合添加一个元素 >>> x {1, 2, 'abc'} >>> x.update({10,20}) #为集合添加多个元素 >>> x {1, 2, 10, 20, 'abc'} >>> x.remove(10) #从集合中删除指定元素 >>> x {1, 2, 20, 'abc'} >>> x.remove(50) #删除不存在元素时会报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 50 >>> x.discard(20) #从集合中删除指定元素 >>> x {1, 2, 'abc'} >>> x.discard(50) #删除不存在元素时不报错 >>> x.pop() #从集合中随机删除一个元素,并返回该元素。 1 >>> x {2, 'abc'} >>> x.clear() #删除集合中的全部元素 >>> x set() 集合可用for循环执行迭代操作,示例代码如下。 >>> x={1,2,3} >>> for a in x:print(a) … 1 2 3 集合元素是不可改变的,因此不能将可变对象放入集合中。 集合对象、列表对象和字典对象均是可变对象,所以不能加入集合。 元组是不可变对象,可以作为一个元素加入集合。 >>> x={1,2} >>> x {1, 2} >>> x.add({1}) #不能将集合对象加入集合 Traceback (most recent call last): File "<pyshell#25>", line 1, in <module> x.add({1}) TypeError: unhashable type: 'set' >>> x.add([1,2,3]) #不能将列表对象加入集合 Traceback (most recent call last): File "<pyshell#28>", line 1, in <module> x.add([1,2,3] TypeError: unhashable type: 'list' >>> x.add({'Mon':1}) #不能将字典对象加入集合 Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> x.add({'Mon':1}) TypeError: unhashable type: 'dict' >>> x.add((1,2,3)) #可以将元组加入集合 >>> x {1, 2, (1, 2, 3)} $$

资源预览图

任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
1
任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
2
任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
3
任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
4
任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
5
任务4-1:利用集合删除重复值(课件)-《程序设计基础(Python)》同步教学(人民邮电版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。