集合 SET 太过爱你忘了你带给我的痛 2021-12-05 05:13 379阅读 0赞 # 集合 SET # ## 定义: ## 只有键没有值的字典,保留无序的元素,没有索引。集合的元素不可变。 ## 创建: ## 1.set\_1 = set(seq) 2.set\_2 = \{\} list_1 = [1,2,3,45,4,2] set_1 = set(list_1) set_2 = {1,1,2,3,4,3} print(set_1) #out:{1, 2, 3, 4, 45} print(set_2) #out:{1, 2, 3, 4} ### 创建只有一个元素的集合 ### set_11 = set(('python',)) set_12 = { 'python'} set_3 = set('hello') print(set_11) #out:{'python'} print(set_12) #out:{'python'} print(set_3) #out:{ {'e', 'l', 'o', 'h'} ### 创建多个元素的集合 ### set_21 = set(('hello','python')) set_22 = set(('hello','python')) set_23 = { 'hello','python'} print(set_21) #out:{ {'hello', 'python'} print(set_22) #out:{ {'hello', 'python'} print(set_23) #out:{ {'hello', 'python'} ## 增: ## ### **单个增加** ### set_a = set(('hello','python')) set_a.add('world') print(set_a) #out:{'hello', 'python', 'world'} ### 批量增加 ### set_u = set(('hello',)) set_p = set(('python',)) set_u.update(set_p) print(set_u) #out:{'hello', 'python'} set_u.update({ 'world'}) print(set_u) #out:{'world', 'hello', 'python'} set_u.update('world') print(set_u) #{'w', 'python', 'world', 'o', 'l', 'd', 'r', 'hello'} # # ## 删: ## remove:删除指定元素。若元素不存在则会报错。 discard:删除指定元素。若元素不存在则不会报错。 pop:随机删除元素,然而在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)。 set_r = set(('hello','python','world','qsl')) set_r.remove('hello') print(set_r) #out:{'world', 'qsl', 'python'} set_r.pop() print(set_r) #out:{'qsl', 'python'} set_r.discard('qsl') print(set_r) #out:{'python'} set_r.discard('hello') print(set_r) #out:{'python'} set_r.remove('hello') #out:KeyError: 'hello' ## 集合的操作: ## #并集 #set_a|set_b = set_b|set_a = set_a.union(set_b) = set_b.union(set_a) set_a = set(('hello','python')) set_b = set(('hello','world')) print(set_a|set_b) #out:{'world', 'hello', 'python'} set_a.update(set_b) print(set_a) #out:{'world', 'hello', 'python'} print(set_a.update(set_b)) #out: None #交集 #set_a.intersection(set_b)= set_a&set_b =set_b.intersection(set_a) = set_b&set_a set_a = set(('hello','python')) set_b = set(('hello','world')) print(set_a&set_b) #out:{'hello'} #差集:set_a中有而set_b中无 #set_a.difference(set_b) = set_a-set_b set_a = set(('hello','python')) set_b = set(('hello','world')) print(set_a.difference(set_b)) #out:{'python'} print(set_a-set_b) #out:{'python'} #判断子集:查看set_a是否为set_b的子集 # set_a.issubset(set_b) = set_a <= set_b set_a = set(('hello','python')) set_b = set(('hello','world')) print(set_a.issubset(set_b)) #out:False print(set_a <= set_b) #out:False ## 内置方法 ## <table> <tbody> <tr> <td>序号</td> <td>方法</td> <td>说明</td> </tr> <tr> <td>1</td> <td>add()</td> <td>为集合添加元素,一次只能加一个</td> </tr> <tr> <td>2</td> <td>update()</td> <td>给集合添加元素,一个可以加多个</td> </tr> <tr> <td>3</td> <td>copy()</td> <td>拷贝一个集合</td> </tr> <tr> <td>4</td> <td>clear()</td> <td>移除集合中的所有元素</td> </tr> <tr> <td>5</td> <td>discard()</td> <td>删除集合中指定的元素,若不存在,不会报错</td> </tr> <tr> <td>6</td> <td>remove()</td> <td>移除指定元素,若不存在,则会报错</td> </tr> <tr> <td>7</td> <td>pop()</td> <td>随机移除元素</td> </tr> <tr> <td>8</td> <td>union()</td> <td><span> 返回两个集合的并集</span></td> </tr> <tr> <td>9</td> <td>intersection()<span> </span></td> <td><span>返回集合的交集</span></td> </tr> <tr> <td>10</td> <td>difference()</td> <td>返回多个集合的差集</td> </tr> <tr> <td>11</td> <td>difference_update()</td> <td>移除集合中的元素,该元素在指定的集合也存在</td> </tr> <tr> <td>12</td> <td> <p>intersection_update()</p> </td> <td> 删除集合中的元素,该元素在指定的集合中不存在</td> </tr> <tr> <td>13</td> <td>issubset()<span> </span></td> <td><span>判断指定集合是否为该方法参数集合的子集。</span></td> </tr> <tr> <td>14</td> <td>isdisjoint()<span> </span></td> <td><span>判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False</span></td> </tr> <tr> <td>15</td> <td>issuperset()<span> </span></td> <td><span>判断该方法的参数集合是否为指定集合的子集</span></td> </tr> <tr> <td>16</td> <td>symmetric_difference()<span> </span></td> <td><span>返回两个集合中不重复的元素集合</span></td> </tr> <tr> <td>17</td> <td> <p>symmetric_difference_update() </p> </td> <td>移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中</td> </tr> </tbody> </table> ## 推导式: ## 和列表推导式相似,都是对一个序列进行操作。 但集合推导式的结果无序且不重复。 list_1 = [1,2,3,-1,4,-2] set_1 = { i**2 for i in list_1 } print(set_1) #out:{16, 1, 4, 9} print(type(set_1)) #out:<class 'set'> 转载于:https://www.cnblogs.com/qianslup/p/11061679.html
相关 集合set 35个问题测试你对Python集合的认识 如何通过掌握集合的基本原理来压制算法问题 图片来自Pexels的Andrea Piacquadio 在我追求掌握面试算法的过程中,我 ╰半夏微凉°/ 2024年04月06日 13:19/ 0 赞/ 92 阅读
相关 set集合 目录 1,set集合的特点: 1.1,set集合添加的数据不可重复 1.2 hashset无序 Treeset有序 1.2.1set集合的遍历方法 1.2.2Tree 我就是我/ 2024年03月16日 18:50/ 0 赞/ 71 阅读
相关 集合——Set Set接口 1.set接口的主要实现类有HashSet和 TreeSet 2.HashSet是基于哈希表实现的,数据是无序的, HashSet元素可以是null,但只 逃离我推掉我的手/ 2023年01月21日 05:30/ 0 赞/ 149 阅读
相关 Set集合 Scala `Set`是相同类型成对的不同元素的集合。换句话说,一个集合是不包含重复元素的集合。 集合有两种:不可变(`immutable`)和可变(`mutable`)。可变 短命女/ 2022年06月07日 11:16/ 0 赞/ 225 阅读
相关 Set集合 简介 > 无序,不可重复的集合 HashSet ①、HashSet:不能保证元素的顺序;不可重复;不是线程安全的;集合元素可以为 NULL; ②、对于 Has 柔光的暖阳◎/ 2022年05月28日 23:40/ 0 赞/ 213 阅读
相关 集合 set 集合 set :去重复,做操作 .add 是增加一个整体,如add('op')是加'op'.update 是增加一个一个的字符是加 o和p in ,no 超、凢脫俗/ 2022年02月23日 10:45/ 0 赞/ 290 阅读
相关 set集合 概述 Set接口继承Collection Set接口常用实现类 1. HashSet 实现了 Set 接口 “它不保证 set 的迭代顺序;特别是它不保证 Bertha 。/ 2022年01月22日 08:39/ 0 赞/ 301 阅读
相关 集合 SET 集合 SET 定义: 只有键没有值的字典,保留无序的元素,没有索引。集合的元素不可变。 创建: 1.set\_1 = set(seq) 2.set\_2 太过爱你忘了你带给我的痛/ 2021年12月05日 05:13/ 0 赞/ 380 阅读
相关 Set(集合) ''' 集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。 {} ''' set1 = set({1, ゝ一世哀愁。/ 2021年11月17日 22:38/ 0 赞/ 382 阅读
相关 集合Set 集合的一个关键的特点就是不能存放重复的元素,二分搜索树是一个非常好的实现集合的底层数据结构 1、二分搜索树实现集合: ![在这里插入图片描述][watermark_ty 川长思鸟来/ 2021年09月23日 22:14/ 0 赞/ 409 阅读
还没有评论,来说两句吧...