''' 数据类型和变量总结: 变量的本质就是保存状态 字符串/数字/列表/元组/字典 可变不可变: 1.可变:列表/字典 2.不可变:字符串/数字/元组 访问顺序: 1.直接访问:数字 2.顺序访问:字符串/列表/元组 3.映射:字典 存放元素个数: 容器类型:列表/元组/字典 原子:数字/字符串 ''' ''' 集合定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key,集合中元素必须是不可变类型 特性:集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无序纠结于集合中单个值 ''' s = set('hello') s1 = set(['alex', 'eric', 'sir', 'alex']) s2 = set((1, 2, 3, 'alex')) s3 = set({'k1':'v1', 'k2':18}) print(s, s1, s2, s3) # add()添加 ss = {4, 2, 3, 'alex', True, (1, 2, 3)} ss.add('3') print(ss) # clear()清空 ss1 = {4, 2, 3, 'alex', True, (1, 2, 3)} ss1.clear() print(ss1) # copy()复制 ss2 = {4, 2, 3, 'alex', True, (1, 2, 3)} ss3 = ss2.copy() print(ss3) # pop(),remove(),discard()删除,pop是随机删除,remove是指定元素删除且指定元素不存在会报错,discard也是指定元素删除且指定元素不存在不会报错 ss4 = {4, 2, 3, 'alex', True, (1, 2, 3)} ss4.pop() print(ss4) ss4.remove(4) print(ss4) ss4.discard((1, 2, 3)) print(ss4) # intersection()求交集,原单词翻译为交叉/相交;可用符号&代替 p_s = {'lcg', 'szw', 'zjw'} l_s = {'szw', 'lcg', 'wpq'} print(p_s.intersection(l_s)) print(p_s&l_s) # union()求并集,原单词翻译为结合/合并;可以符号|代替 p_s = {'lcg', 'szw', 'zjw'} l_s = {'szw', 'lcg', 'wpq'} print(p_s.union(l_s)) print(p_s|l_s) # difference()求差集,原单词翻译为不同;可以符号-代替 p_s = {'lcg', 'szw', 'zjw'} l_s = {'szw', 'lcg', 'wpq'} print(p_s.difference(l_s)) print(p_s-l_s)