集合

# 集合:大括号{}括起来内部可以存放多个元素
# 元素与元素之间逗号隔开,元素只能是不可变类型
s = {1, 2, 3, 4}
print(type(s)) # <class 'set'>
# 集合不能索引取值,因为他是无序的。
# 只有俩种情况才会考虑使用集合:
# 1.关系运算
# 俩个群体之间判断 交叉并集
# 共同好友 共同关注 共同点赞
# 都可以用集合来实现
# 2.去重操作
# 去除重复的元素
d1 = {}
s1 = {}
print(type(d1)) # <class 'dict'>
print(type(s1)) # <class 'dict'>
# 从上面我们发现字典和集合用的都是大括号,那么d1和s1的类型
# 都是默认空字典
# 这个时候如果想定义空集合,需要使用关键字set
ss = set()
print(type(ss)) # <class 'set'>

# s = {11, 1.1, 'hello', [1, 2, 3], {'name': 'egon'}}
# 元素必须是不可变类型
s = {11, 1.1, 'hello'}

# 去重操作
new_l = []
l = [11, 22, 33, 44, 11, 55, 22, 33, 77, 66, 66, 66]
for i in l:
if i not in new_l:
new_l.append(i)
print(new_l)
# 将列表转化成集合
res = set(l)
print(res)
# 集合内默认不能出现重复的元素
# 集合是无序的
# 如果出现了就会自动去重


# 关系运算
f1 = {'jason', 'egon', 'tony'}
f2 = {'jason', 'jack', 'oscar', 'kevin'}
# 共同好友
# 交集 共同的好友:print(f1 & f2 )
# f1独有的好友:print(f1-f2)
# f2独有的好友:print(f2-f1)
# 求俩个人所有的好友:print(f1 | f2)
# 求各自好友不包含共有的:print(f1 ^ f2)


# 父集 子集
# 父集:A包含B 那么A就是B的父集
# 子集:A包含B 那么B就是A的子集
s1 = {1, 2, 3, 4, 5}
s2 = {1, 2, 3}
print(s1 > s2) # True
posted @ 2021-06-05 23:16  点滴180  阅读(33)  评论(0)    收藏  举报