集合的学习
Posted scipio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合的学习相关的知识,希望对你有一定的参考价值。
#集合的学习 #集合set是装有独特值的无序"袋子",一个简单的集合可以包含任何数据类型的值。如果有两个集合,则可以执行像联合、交集以及集合求差等标准集合运算 #1、创建集合 a_set = {1} print(a_set) type(a_set) a_set = {1,2} print(a_set) #2、以列表为基础创建集合 a_list = [‘a‘,‘b‘,‘sicpio‘,‘ice‘,‘knight‘] #(1)创建列表 a_set = set(a_list) #(2)创建集合,其元素为列表内的元素 print(a_set) #输出{‘sicpio‘, ‘ice‘, ‘a‘, ‘knight‘, ‘b‘} print(a_list) #输出[‘a‘, ‘b‘, ‘sicpio‘, ‘ice‘, ‘knight‘],初始列表并未发生变化 #3、创建一个空集合 a_set = set() print(a_set) print(type(a_set)) #<class ‘set‘>属于类 print(len(a_set)) #0 not_sure = {} #此创建非空集合,而是字典 print(not_sure) print(type(not_sure)) #4、修改集合 #分别用:add()方法和update()方法向集合中添加值 a_set = {1,2} a_set.add(4) #添加一个值4 print(a_set) print(len(a_set)) #输出3 a_set.add(1) print(a_set) #仍然为{1, 2, 4},无法添加,因为集合是装唯一值的袋子。添加已有的值不会发生错误和任何事,只是空操作 a_set = {1,2,3} a_set.update({2,4,6}) print(a_set) #输出{1, 2, 3, 4, 6},重复的不添加 a_set.update({3,6,9},{1,2,3,50}) print(a_set) #输出{1, 2, 3, 4, 50, 6, 9} a_set.update([10,20,30,50,60]) print(a_set) #update只返回一个集合作为参数,并讲所有成员添加到初始列表中。像对参数集合中每个成员调用add() #5、从集合中删除元素 #三种方法可以从集合中删除某个值,discard,remove,pop。 #(1)discard() a_set = {1,2,4,5,6,7,9,23,45,67} print(a_set) a_set.discard(45) print(a_set) #删除45 #(2)remove() a_set.remove(67) print(a_set) #discard与remove的区别是删除一个集合中不存在的值,discard是空指令,remove会引发一个keyError例外 #(3)pop() a_set = {1,4,5,6,7,8,9,67,7,89,90} a_set.pop() a_set.pop() print(a_set) #pop()随机删除集合中的值,无序 #(4)clear() a_set.clear() #clear()清空集合,等价于a_set = set() print(a_set) #6、集合常见操作 a_set = {2,3,5,6,7,9,10,13,24,67,89} print(2 in a_set) #True b_set = {1,2,3,6,7,8,34,68,89,90} u_set = a_set.union(b_set) #union()方法返回一个新集合,装着两个集合中出现的所有元素 print(u_set) #输出{1, 2, 3, 67, 5, 6, 7, 34, 9, 10, 68, 8, 13, 24, 89, 90} d_set = a_set.difference(b_set) #difference方法返回的新集合中,装着所有在a_set出现但未再b_set中出现的元素 print(d_set) #输出{67, 5, 9, 10, 13, 24} i_set = a_set.intersection(b_set) #intersection()方法返回的新集合装着同时在两个集合中出现的元素 print(i_set) #输出{89, 2, 3, 6, 7} s_set = a_set.symmetric_difference(b_set) #symmetric_difference()方法返回一个集合,装着所有只在其中一个集合中出现的元素 print(s_set) #输出{1, 67, 34, 68, 8, 5, 9, 10, 13, 24, 90} a_set = {1,2,3} b_set = {1,2,3,4} if_set = a_set.issubset(b_set) print(if_set) if_set = b_set.issuperset(a_set) print(if_set) #a_set是b_set的子集,b_set是a_set的超集
以上是关于集合的学习的主要内容,如果未能解决你的问题,请参考以下文章