字典的表亲--集合(在python3中,如果用大括号括起一堆数字但没有体现映射关系,那么就会认为这堆玩意儿就是个集合)
1 >>> num1 = {} 2 >>> type(num1) 3 <class 'dict'> 4 >>> num2 = {1,3,4} 5 >>> type(num2) 6 <class 'set'>
集合中的元素都是唯一的(集合会自动帮我们把重复的数据清理掉,集合是无序的,所以不能试图去索引集合中的某一个元素)
1 >>> num = {1,2,3,4,5,5,4,3,2,1} 2 >>> num 3 {1, 2, 3, 4, 5}
如何创建一个集合有两种方法:1、直接把一堆元素用大括号括起来;2、用set()
•一种是直接把一堆元素用花括号括起来
>>> set1 = {'小甲鱼','小鱿鱼','小甲鱼'}
•一种是使用set()工厂函数
1 >>> set2 = set(['小甲鱼','小鱿鱼','小甲鱼']) 2 >>> set1 == set2 3 True
课堂搞搞看
要求:去掉列表中重复的元素
[0, 1, 2, 3, 4, 5, 5, 3, 1]
方法一、
1 >>> list1 = [1,2,3,4,5,5,3,1,0] 2 3 >>> temp = list1[:] 4 >>> list1.clear() 5 >>> list1 6 [] 7 >>> for each in temp: 8 if each not in list1: 9 list1.append(each) #append()表示向列表中添加元素
方法二、
1 >>> list1 = list(set(list1)) 2 >>> list1 3 [0, 1, 2, 3, 4, 5] 4 5 #set(list1)先将list1列表转变为集合, list(set(list1))再讲集合转变为列表
如何访问集合中的值
由于集合中的元素是无序的,所以并不能像序列那样用下标来进行访问,但是可以使用迭代把集合中的数据一个个读取出来
•可以使用for把集合中的数据一个个读取出来
1 >>> set1 = {1,2,3,4,5,4,3,2,1,0} 2 >>> for each in set1: 3 print(each,end = ' ') 4 5 6 0 1 2 3 4 5
•也可以通过in和not in判断一个元素是否在集合中已经存在
1 >>> 0 in set1 2 True 3 >>> 8 in set1 4 False
使用add()方法可以为集合添加元素,使用remove()方法可以删除集合中已知的元素:
1 >>> set1.add(6) 2 >>> set1 3 {0, 1, 2, 3, 4, 5, 6} 4 >>> set1.remove(5) 5 >>> set1 6 {0, 1, 2, 3, 4, 6}
不可变集合(把元素给froze冰冻起来)(像元组一样不能随意地增加或删除集合中的元素)
标签:set,入门,Python,元素,list1,027,set1,each,集合 From: https://www.cnblogs.com/ybqjymy/p/17650378.html