''' 集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。 {} ''' set1 = set({1,2,3}) # set2 = {1,2,3,[2,3],{'name':'alex'}} # 错的 print(set1) # {1, 2, 3} # print(set2) set1 = {'alex','wusir','ritian','egon','barry',} #增 # add set1.add('女神') print(set1) # {'alex', 'wusir', 'egon', '女神', 'ritian', 'barry'} #update set1.update('abc') print(set1) # {'alex', 'wusir', 'b', 'egon', 'c', '女神', 'ritian', 'a', 'barry'} #删除 set1.pop() # 随机删除 print(set1.pop()) # 有返回值 wusir print(set1) # {'b', 'egon', 'c', '女神', 'ritian', 'a', 'barry'} # set1.remove('alex') # 按元素 # print(set1) # 空字典 - {} 空集合 - set() # set1.clear() print(set1) # set() #del set1 # print(set1) #查 for i in set1: print(i) ''' alex ritian barry b c wusir 女神 ''' set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} set3 = set1 & set2 # 交集 print(set3) # {4, 5} print(set1.intersection(set2)) # {4, 5} ''' 描述 intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。 语法 intersection() 方法语法: set.intersection(set1, set2 ... etc) 参数 set1 -- 必需,要查找相同元素的集合 set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开 返回值 返回一个新的集合。 ''' set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7,8} print(set2.union(set1)) # {1, 2, 3, 4, 5, 6, 7} ''' 描述 union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。 语法 union() 方法语法: set.union(set1, set2...) 参数 set1 -- 必需,合并的目标集合 set2 -- 可选,其他要合并的集合,可以多个,多个使用逗号 , 隔开。 返回值 返回一个新集合。 ''' set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 ^ set2) # {1, 2, 3, 6, 7, 8} print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8} ''' 描述 symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。 语法 symmetric_difference() 方法语法: set.symmetric_difference(set) 参数 set -- 集合 返回值 返回一个新的集合。 ''' set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} print(set1 - set2) # {1, 2, 3} #set1独有的 print(set1.difference(set2)) # {1, 2, 3} ''' 描述 difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。 语法 difference() 方法语法: set.difference(set) 参数 set -- 必需,用于计算差集的集合 返回值 返回一个新的集合。 ''' set1 = {1,2,3,} set2 = {1,2,3,4,5,6} print(set1 < set2) # True print(set1.issubset(set2)) # 这两个相同,都是说明set1是set2子集。 # True print(set2 > set1) # True print(set2.issuperset(set1)) # 这两个相同,都是说明set2是set1超集。 # True #去重 li = [1,2,33,33,2,1,4,5,6,6] set1 = set(li) print(set1) # {1, 2, 33, 4, 5, 6} li = list(set1) print(li) # [1, 2, 33, 4, 5, 6] s1 = {1,2,3} print(s1,type(s1)) # {1, 2, 3} <class 'set'> s = frozenset('barry') print(s,type(s)) for i in s: print(i) ''' 描述 frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。 语法 frozenset() 函数语法: class frozenset([iterable]) 参数 iterable -- 可迭代的对象,比如列表、字典、元组等等。 返回值 返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。 '''