七 集合

# pythons = ['张三', '李四', '王五', '刘6', 'egon', 'lili', '李建国']
# linux = ['铁蛋', '铜蛋', '钢弹', 'egon', '狗蛋', 'lili']
#
# l = []
# for name in pythons:
# if name in linux:
# l.append(name)
# print(l)

# ======================================基本使用======================================
# 1、用途
# (1) 关系运算
# (2)去重(鸡肋)
# names = ['egon','tom','jack','egon','egon','egon']
# s = set(names)
# print(list(s))

# students_info = [
# {"name": 'egon', 'age': 18},
# {"name": 'tom', 'age': 18},
# {"name": 'jack', 'age': 18},
# {"name": 'egon', 'age': 18},
# {"name": 'egon', 'age': 18},
# {"name": 'egon', 'age': 18},
# {"name": 'egon', 'age': 18},
# ]
#
# res = []
#
# for info in students_info:
# if info not in res:
# res.append(info)
#
# print(res) # [{'name': 'egon', 'age': 18}, {'name': 'tom', 'age': 18}, {'name': 'jack', 'age': 18}]


# 2、定义方式:在{}内用逗号分隔开多个元素,集合元素的特点如下
# 1、集合内元素不能重复
# 2、集合内的元素必须是不可变类型
# 3、集合内的元素无序

# s = {111,33.333,(1,2,3),111,111,111,111} # s=set(...)
# print(s)

# set数据类型转换
# print(set('hello'))
# print(set([(1,2,3),[1,2,3,4,5],(1,2,3)]))

# 3、常用操作+内置的方法
# 优先掌握的操作:
# 1、长度len
# s = {1,2,3}
# print(len(s))

# 2、成员运算in和not in
# s = {1,2,3}
# print(1 in s)


pythons = {'张三', '李四', '王五', '刘6', 'egon', 'lili', '李建国'}
linuxs = {'铁蛋', '铜蛋', '钢弹', 'egon', '狗蛋', 'lili'}

# 3、|合集: 求所有的同学姓名
# print(pythons | linuxs)
# print(pythons.union(linuxs))

# 4、&交集: 同时报名两门课程的同学
# print(pythons & linuxs)
# print(pythons.intersection(linuxs))

# pythons = pythons & linuxs
# pythons.intersection_update(linuxs)

# 5、-差集: 求只报名了python课程的同学
# print(pythons - linuxs)
# print(pythons.difference(linuxs))
# pythons.difference_update(linuxs)

# print(linuxs - pythons)

# 6、^对称差集: 求没有同时报名两门课程的同学
# s = (pythons - linuxs) | (linuxs - pythons)
# s = pythons ^ linuxs
# print(s)

# s = pythons.symmetric_difference(linuxs)
# print(s)

# 7、==
# s1 = {1,2,3}
# s2 = {3,1,2}
# print(s1 == s2)

# 8、父集:>=,子集:<=
# s1 = {1,2,3}
# s2 = {1,2}
# # s2 = {1,2,4}
# print(s1 >= s2)
# print(s1.issuperset(s2))
#
# print(s2 <= s1)
# print(s2.issubset(s1))

# 了解即可

# 需要掌握
s1 = {1, 2, 3}
# s1.update({3,4,5,6})
# res = s1.pop()

# s1.remove(22222)
# print(s1)

# s1.discard(2222222)
# print(s1)

# s1.add(4)
# print(s1)

s2 = {3, 4, 5, 6}

print(s1.isdisjoint(s2))

# ======================================该类型总结====================================
# 存多个值

# 无序

# 可变

posted @ 2021-09-19 21:42  MAL嘟嘟嘟  阅读(61)  评论(0)    收藏  举报