当前位置: 首页 > news >正文

重庆石柱网站设计公司动漫制作教学

重庆石柱网站设计公司,动漫制作教学,城乡建设局网站,涪城网站建设文章目录 1. 语法1.1 使用 {} 定义1.2 使用 set() 定义 2. 特点3. 常用操作3.1 访问元素3.2 查找数据3.3 添加元素3.3.1 add() 方法3.3.2 update()方法 3.4 删除元素3.4.1 remove()方法3.4.2 discard()方法3.4.3 pop()方法3.4.4 clear()方法 3.5 集合运算3.5.1 并集#xff1a… 文章目录 1. 语法1.1 使用 {} 定义1.2 使用 set() 定义 2. 特点3. 常用操作3.1 访问元素3.2 查找数据3.3 添加元素3.3.1 add() 方法3.3.2 update()方法 3.4 删除元素3.4.1 remove()方法3.4.2 discard()方法3.4.3 pop()方法3.4.4 clear()方法 3.5 集合运算3.5.1 并集| 或者 union()3.5.2 交集 、intersection() 或者 intersection_update()3.5.3 差集 - 、difference() 或者 difference_update()3.5.4 对称差集异或^ 或者 symmetric_difference() 方法 3.6 判断数据3.6.1 .issubset()方法3.6.2 .isdisjoint()方法3.6.3 .issuperset()方法 3.7 集合推导式 4. 集合性能5. 使用场景5.1 去重操作5.2 成员检测5.3 集合运算简化逻辑 6. 关于列表和集合7. 总结 1. 语法 集合(set)一组key的集合key具有唯一性但不存储value是一种 无序、不重复元素 的数据结构通过 {} 或者 set() 函数定义当使用花括号定义时至少要有一个元素否则会被解释为字典即 空集合必须用 set() 创建 。 1.1 使用 {} 定义 my_set_0 {1,2,3} print(my_set_0)输出 1.2 使用 set() 定义 my_set_0 {1,2,3} print(my_set_0) my_set_1 set([1,2,3]) #通过set()函数定义需要提供一个list作为输入集合 print(my_set_1) #打印的{123}只是表明set内部由123这三个元素显示的顺序不表示set是有序的 my_set_2 {1,2,3,4,4,4,4} print(my_set_2) #重复元素在set中被自动过滤输出 2. 特点 无序性 集合中元素没有特定顺序不能通过索引来访问 元素的唯一性 集合中不允许由重复的元素 可变性 可以添加或删除元素但集合中的 元素必须是不可变类型 整数、字符串、元组 3. 常用操作 3.1 访问元素 由于集合中的元素是无序的因此无法向列表那样使用下标访问元素。Python 中访问集合元素最常用的方法是使用循环结构将集合中的数据逐一读取出来 a {1,c,1,(1,2,3),c} for ele in a:print(ele,end )输出 3.2 查找数据 通过 in \ not in 进行数据的查找判断打印判断结果True\False my_set_0 {1,2,3} print(8 in my_set_0) print(8 not in my_set_0)输出 3.3 添加元素 3.3.1 add() 方法 add()方法添加单个元素 my_set_0 {1,2,3} my_set_0.add(4) print(my_set_0)输出 3.3.2 update()方法 update()方法添加多个元素 (集合有去重功能当追加的数据是已有数据的话则不进行任何操作) my_set_0 {1,2,3} my_set_0.update([3,5,6,7,8]) #集合有去重功能当追加的数据是已有数据的话则不进行任何操作 print(my_set_0) 输出 3.4 删除元素 3.4.1 remove()方法 remove()方法删除指定元素如果元素不存在会抛出KeyError异常 my_set_0 {1,2,3} my_set_0.remove(3) print(my_set_0) my_set_0.remove(10) print(my_set_0)输出 3.4.2 discard()方法 discard()方法删除指定元素如果元素不存在不会抛出异常 my_set_0 {1,2,3} my_set_0.discard(3) print(my_set_0) my_set_0.discard(10) print(my_set_0)输出 3.4.3 pop()方法 pop()方法随机删除集合中的某个元素没有参数当集合为空时再次使用pop方法会抛出KeyError异常 my_set_0 {1,2,3} del_num my_set_0.pop() print(del_num) print(my_set_0) del_num2 my_set_0.pop() print(del_num2) print(my_set_0) del_num3 my_set_0.pop() print(del_num3) print(my_set_0) del_num4 my_set_0.pop() #当集合为空时再次使用pop方法会抛出KeyError异常输出 3.4.4 clear()方法 clear()方法删除集合中的所有元素打印set() my_set_0 {1,2,3} my_set_0.clear() print(my_set_0)输出 3.5 集合运算 集合运算set可以看成数学意义上的无序和无重复元素的集合因此多个set可以做数学意义上的集合运算 定义以下两个集合 set1 {a,b,c,d} set2 {c,d,e,f}3.5.1 并集| 或者 union() 并集使用 | 运算符或者 union()方法 当对多个集合进行合并时用 , 隔开 set1 {a,b,c,d} set2 {c,d,e,f} union_set1 set1 | set2 union_set2 set1.union(set2) print(union_set1) print(union_set2) set3 {happies,wealth,big house} union_sets set.union(set1,set2,set3) #多个集合合并时用 , 隔开 print(union_sets)输出 3.5.2 交集 、intersection() 或者 intersection_update() 运算符 、intersection()方法用于返回包含 多个集合中都包含的元素集,即交集不修改原集合生成一个新集合原集合保持不变intersection_update()方法是一个操作 保留交集 将当前集合更新为与一个或多个可迭代对象的交集。直接修改原集合不返回新集合而是返回 None set1 {a,b,c,d} set2 {c,d,e,f} set4 {c,1,2,3}in_set set1 set2 print(in_set) # 返回 set1 和 set2 的交集 {c, d}in_set set1.intersection(set2) print(in_set) # 返回 set1 和 set2 的交集 {c, d}in_set set.intersection(set1,set2,set4) print(in_set) # 返回 set1、set2、set4 多个集合的交集 {c}in_set set1.intersection_update(set2) print(in_set) # intersection_update()方法不生成新集合返回 None print(set1) # intersection_update()方法直接修改原集合 set1 print(set2) # intersection_update()方法不修改 set2输出 3.5.3 差集 - 、difference() 或者 difference_update() -运算符、s1.difference(s2)方法返回一个包含两个集合之间差异的集合,返回的集合中包含仅存在在s1中但不存在s2中的元素会返回一个新的集合不包括不需要的元素difference_update()方法是一个操作 保留差集 从原始集合中删除两个集合中存在的元素不返回新集合而是返回 None set1 {a,b,c,d} set2 {c,d,e,f}print(set1.difference(set2)) print(set1 - set2)print(set1.difference_update(set2)) #difference_update是在原集合中进行的一个操作所以返回值为 None set1.difference_update(set2) print(set1)输出 3.5.4 对称差集异或^ 或者 symmetric_difference() 方法 对称差集是指在两个集合中只在其中一个集合中出现的元素组成的集合 ^ 或者 symmetric_difference() 方法返回新的集合保留对称差集symmetric_difference_update()是一个操作 保留对称差集 不返回新集合而是返回 None set1 {a,b,c,d} set2 {c,d,e,f}print(set1 ^ set2) print(set1.symmetric_difference(set2))set1.symmetric_difference_update(set2) print(set1) print(set2)输出 3.6 判断数据 3.6.1 .issubset()方法 s1.issubset(s2)方法判断s1是否 是s2的子集 用于判断集合的所有元素是否都在指定集合中返回布尔值 set1 {a,b,c,d} set2 {c,d,e,f}union_set set1 | set2 print(set1.issubset(set2)) print(set1.issubset(union_set))输出 3.6.2 .isdisjoint()方法 isdisjoint()方法判断是否 无交集 判断两个集合中有无相同的元素没有返回True set1 {a,b,c,d} set2 {c,d,e,f} set3 {happies,wealth,big house}print(set1.isdisjoint(set2)) #有相同的元素返回False print(set1.isdisjoint(set3)) #没有相同的元素返回True输出 3.6.3 .issuperset()方法 s1.issuperset(s2)方法判断s1是否 是s2的超集 判断如果指定集合中的所有元素都存在原集合中返回True set1 {a,b,c,d} set2 {c,d,e,f}union_set set1 | set2 print(set1.issuperset(union_set)) print(union_set.issuperset(set1))输出 3.7 集合推导式 语法 {表达式 for 变量 in 可迭代对象 if 条件} 类似列表推导式 even_squares {x ** 2 for x in range(10) if x % 2 0} print(even_squares) # 输出{0, 4, 16, 36, 64}4. 集合性能 查找效率基于哈希表实现 查找时间复杂度为 O(1) 去重操作快速去除列表中的重复元素 5. 使用场景 5.1 去重操作 lst [1, 2, 2, 3, 4, 4] unique list(set(lst)) # 去重 → [1, 2, 3, 4]顺序可能丢失 print(unique)输出: 5.2 成员检测 比列表的 in 操作快得多列表为 O(n)集合为 O(1) large_set set(range(10**6)) print(999999 in large_set) # 极快5.3 集合运算简化逻辑 eg统计两篇文章的共有词汇 article1 {apple, banana, cherry} article2 {banana, date, elderberry} common_words article1 article2 # 输出{banana}6. 关于列表和集合 需要唯一元素 → 集合 需要顺序或重复元素 → 列表 7. 总结 集合是基于 哈希表 的高效数据结构通过 {} 或者 set() 函数定义无序、不重复元素 不支持索引 空集合必须用 set() 创建元素必须为 不可变类型 适用场景元素去重、集合运算、高效元素检测等
http://www.dnsts.com.cn/news/188648.html

相关文章:

  • 360全景网站怎么做什么是网络运营
  • 花卉网站建设推广建设银行网站查余额查询
  • 医院网站怎么建设网站安全建设总结
  • 怎么做网站图标如何创建网站的第一步
  • 各大网站名称物联网软件开发
  • 物流公司网站建设有什么要点竞价推广直通车
  • 毕业设计做网站老师会问什么专做logo网站叫什么
  • 公司建网站多少广州南站在哪个区
  • 网站建设协议附件网站建设j介绍ppt模板
  • 专门做婚纱儿童摄影网站免费的黄冈网站有哪些平台可以用微信支付
  • 好的建设网站公司做网站有什么框架
  • 仙居住房和城乡建设局网站足球外围网站怎么做
  • 淮南网站制作公司电商应该怎么做如何从零做起
  • dw个人网站设计淘宝如何做推广
  • 门户网站是用户上网的第一入口wordpress 修改固定链接 404
  • 网站高端建设开发公司企业软件定制开发包括
  • 网站建设维护面试题网站权限查询
  • 河南建设信息网站首都开发公司
  • 嘉兴公司网站建设4网站建设哪里好点
  • 网站付费推广有哪些星子网易云
  • react可以做门户网站么当当网网站内容建设的分析
  • 微信开发者文档小程序好用的seo软件
  • 哪些网站做的好看的图片虚拟电脑可以做网站吗
  • 网站导航栏全屏怎么做品牌建设调研报告
  • 机械配件东莞网站建设京东商城网上购物官网
  • 无障碍网站建设的意义seo工作职位
  • 企业logo设计免费在线重庆官网seo分析
  • 有什么网站是可以做ui的南通网站建设电话
  • 实用网站建设知识点做网站备案必须是个人还是公司
  • 珠海企业建站程序常州云之家网站建设网络公司怎么样