SET集合的作用大概就是用来确保所包含的元素的唯一性,就像世界上没有两片完全相同的树叶一样,集合内不可能存在两个相同的元素!
>>> set1 = set([1,2,3,4,5,5]) >>> set1 {1, 2, 3, 4, 5} #集合里没有重复的元素
再看看这里
>>> num = {} >>> type(num) <class 'dict'> #空字典 >>> num2 = {1,2,3,4,5} >>> type(num2) <class 'set'> #没有映射关系,就不是字典 >>> num2[2] Traceback (most recent call last): File "<pyshell#47>", line 1, in <module> num2[2] TypeError: 'set' object is not subscriptable #集合里的元素不能被索引
还有一个原因,类似字典的存储方式,哈希哈希相同的值就存放到同一个地址了,故有无序性
>>> num1 = [1,2,3,4,5,5,3,1,0] # 数组num1 >>> num1 = list(set(num1)) #先将数组转换成集合再转换成列表 >>> num1 #集合会把数字大小顺序排列 [0, 1, 2, 3, 4, 5]
可以使用for语句把集合中的数据一个个读取出来,也可以通过in和not in判断一个元素是否在集合中已经存在
>>> num2 = set(num1) >>> num2 {0, 1, 2, 3, 4, 5} >>> 1 in num2 #判断数字1是否在num2 True >>> '1' in num2 False >>> num2.add(6) #列表是append,集合是add >>> num2 {0, 1, 2, 3, 4, 5, 6} >>> num2.remove(4) #删除一个元素 >>> num2 {0, 1, 2, 3, 5, 6} >>> num3 = frozenset(num1) #冻结,不能改变这个集合 >>> num3.add(7) Traceback (most recent call last): File "<pyshell#68>", line 1, in <module> num3.add(7) AttributeError: 'frozenset' object has no attribute 'add'
还有基本求集合里多少个元素的len()
嗯嗯其他很多用法就借图说话