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

 

posted @ 2020-09-03 22:53  leungqingyun  阅读(115)  评论(0)    收藏  举报