Python集合
1. 集合里面的元素是无序的,无重复的, 元素是不可变的( 数字,字符串,元组 )
2. 集合常用方法
s={'a','b','c','a',1,2,33,55,2,('a','b')} s.add('a') s.pop() s.remove('b') s.discard('aaa') # 删除指定元素不存在 不会报错!
s.update(99,88,77) # 一次更新多个值
3. 集合的 差集,交集,并集
python={'jack','rose','erick','peter'} linux={'jack','zhang','wang','lee'} # 交集: 指的是两个集合共有的元素 python_linux=python.intersection(linux) # {'jack'} # 并集: 指的是两个集合的元素合并在一起 python_linux=python.union(linux) # {'lee', 'wang', 'erick', 'zhang', 'rose', 'jack', 'peter'} # 差集: 指的是第一个集合减去第二个集合里已经存在的元素,得到剩余的元素 python_linux=python.difference(linux) # {'rose', 'erick', 'peter'} # 交差补集:指的是两个集合的元素合并在一起,然后再减去两个集合共有的元素 python_linux=python.symmetric_difference(linux) # {'zhang', 'lee', 'peter', 'wang', 'erick', 'rose'}
4. 集合的差集另类,difference_update,intersection_update 指的是 完成差集后不返回新的集合,而是将结果更新到原有的集合里面
python = {'jack', 'rose', 'erick', 'peter', 'lee'} java = {'erick', 'ling', 'rose', 'zhang'} java.difference_update(python) # java= {'ling', 'zhang'}
5. 判断两个集合是否为交集,即 两个集合是否有共有的部分,如果是则返回False, 如果不是则返回True
python = {'jack', 'rose', 'erick', 'peter', 'lee'} java = {'erick', 'ling', 'rose', 'zhang'} flag=java.isdisjoint(python) # flag= False
6. 判断一个集合是不是另外一个集合的子集, 即 小集合里面的元素是不是全部为大集合里面的元素
python = {'jack', 'rose', 'erick', 'peter', 'lee'} java = {'erick', 'rose', } flag=java.issubset(python) # flag=True
7. 判断一个集合是不是另外一个集合的父集,即 集合里面的元素是不是全部为大集合里面的元素
python = {'jack', 'rose', 'erick', 'peter', 'lee'} java = {'erick', 'rose', } flag=python.issuperset(java) # flag=True