教程: 集合是一个无序不重复元素的序列,它的特点是:有的可变,有的不可变,元素无序不可重复! 一:集合的创建 (1)使用花括号 set={value1, values2} 注意创建一个空集合的时候不能用{},此时创建的是一个字典 (2)使用内联函数set()------>可以原地修改的集合 s = set() 注意: 集合是无序的(集合不是序列类型,则集合也不支持索引和切片), 打印结果取决于内部存储结构和输出方式 (3)使用内联函数frozenset()---->hashable 可哈希卡类型 二:集合的索引(不允许) File "<ipython-input-5-9b6a789630ee>", line 1, in <module> set_1[1] TypeError: 'set' object does not support indexing 三:集合的运算 (1)元素与集合之间的关系 'i' in set('ilove') (2)集合a与集合b之间的关系 a == b 判断是否相等 a < b 或者 a.issubset(b) 判断是否为子集 a 并 b ---> a|b 或者 a.union(b) a 交 b ---> a&b 或者 a.intersection(b) a 补 b ---> a-b 或者 a.difference(b) a 和 b 的对称差集 a^b 或者 a.symmetric_difference(b) 三:集合元素的添加 (1)方法一: s.add(x) (2)方法二: s.update(x) 其中x可以是列表,元组,字典 四:集合元素的删除 (1)方法一: s.remove(x) 元素不存在发生错误 (2)方法二: s.discard(x) 元素不存在不会发生错误 (3)方法三: s.pop() 随机删除一个元素 (4)方法四: s.clear() 清空集合 五:集合内置函数 len(set)----set元素的总数 set.add()-----添加 set.update()--更新 还包括上面的四个函数 CODE: # -----------------------------------------------------------------------------------------------------# # 集合的创建 # -----------------------------------------------------------------------------------------------------# set_1 = set('abracadabra') # 创建可变的集合 print("set_1:", set_1) set_1.add('python') # 元素的添加 print("添加Python后set_1:", set_1) set_2 = set('alacazam') print("set_2:", set_2) set_3 = frozenset('faith') # 创建不可变的集合验证元素不可添加 print("创建不可变集合set_3:", set_3) # -----------------------------------------------------------------------------------------------------# # 集合的运算 # -----------------------------------------------------------------------------------------------------# print("set_1 - set_2: ", set_1 - set_2) print("set_1 | set_2: ", set_1 | set_2) print("set_1 & set_2: ", set_1 & set_2) print("set_1 ^ set_2: ", set_1 ^ set_2) # -----------------------------------------------------------------------------------------------------# # 集合元素的添加(对于可变集合) # -----------------------------------------------------------------------------------------------------# # 方法一 set_2 = set('alacazam') set_2.add("faith") print("添加元素方法一:", set_2) # 方法二 x = {1, 2, 3, 'aaa'} # 列表 y = (1, 2, 3, 'aaa') # 元组 z = {1: 'wang', 2: 'aaa'} # 字典--->只添加键值 set_2.update(z) print("添加元素方法二:", set_2) # -----------------------------------------------------------------------------------------------------# # 集合元素的删除 # -----------------------------------------------------------------------------------------------------# # 方法一 set_2.remove('faith') print("删除元素方法一:", set_2) # 方法二 set_2.discard('1') print("删除元素方法二:", set_2) # 方法三 set_2.pop() print("删除元素方法三:", set_2) # 方法三 set_2.clear() print("删除元素方法四:", set_2)