十四、集合set(了解)

十四、集合set(了解)

集合和字典一样都是使用大括号。但集合没有value,相当于只有字典的key。
字符串,列表和元组属于序列,是有序的,但集合是无序的,所以不能通过下标来查询和修改元素。
再总结一下:
整数,字符串,元组是不可变数据类型(整数和字符串改变值的话是在内存里开辟新的空间来存放新值,原内存地
址里的值不变)
列表,字典,集合是=可变数据类型=(在内存地址不变的基础上可以改变值)

集合主要特点:
1. 天生去重(去掉重复值)
2. 可以增,删(准确来说,集合可以增加删除元素,但不能修改元素的值)
3. 可以方便的求交集,并集,补集

1.创建集合

set1={1,2,3,4,5,1,2}
set2={2,3,6,8,8}
print(type(set1))
print(set1) # 打印的结果,没有重复值
print(set2)

2.集合的常见操作

set1={1,4,7,5,9,6}
set2=set([2,4,5,9,8])

# 交集
print(set1.intersection(set2))
print(set1 & set2)
print(set1.isdisjoint(set2)) # 判断两个集合是否有交集,类型为bool(有交集为False,没交集为True)

# 并集
print(set1.union(set2))
print(set1 | set2)

# 差集(补集)
print(set1.difference(set2)) # set1里有,set2里没有
print(set1-set2)
print(set2.difference(set1)) # set2里有,set1里没有
print(set2-set1)

# 对称差集
print(set1.symmetric_difference(set2)) # 我有你没有的 加上 你有我没有的
print(set1^set2)

# 子集
set3=set([4,5])
print(set3.issubset(set1)) # 判断set3是否为set1的子集
print(set1.issuperset(set3)) # 判断set1是否包含set3

# 集合的增加操作
set1.add(88)
print(set1)
set1.update([168,998]) # 添加多个
print(set1)

# 集合的删除操作
set1.remove(88) # 删除一个不存在的元素会报错
print(set1)
set1.discard(666) # 删除一个不存在的元素不会报错,存在则删除
print(set1)
posted @ 2023-06-19 14:24  村尚chun叔  阅读(35)  评论(0编辑  收藏  举报