概述
set集合
- set集合是Python的一个基础数据类型,一般很少用到,set中的元素是不可重复而无序的,里面的元素必须是可hash的(int,str,tuple,bool),set也是用{}括起来的,我们可以这样记,set是dict类型的数据,但是不保存value,只保存key。
- 注意:set集合中的元素必须是可hash的,但是set本身又是不可hash的,set是可变的。
- set中的元素是不可重复而无序的,使用这个特性,我们使用set 去重
s = {'A', 'B', 'A', 'B'}
print(s) #结果:{'B', 'A'}
lst = ['A','B','A','B']
lst = list(set(lst)) #将lst转成set数据类型去重后,再转成list数据类型
print (lst) #['A', 'B']
set集合增删改查
- 增
s = {'A', 'B', 'A', 'B'}
s.add('c')
print(s)
s.add('c') #重复的内容不会被添加到set集合中
print(s)
s.update(['C','D','E']) #迭代添加
print(s)
- 删
s = {'A', 'B', 'C', 'D'}
item = s.pop() # 随机删除一个元素后,返回被删除的值给item
print(item)
print(s)
s.remove('A') #直接删除指定的值
s.clear() #清空set集合,需要注意的是,如果set为空,打印出来则是set(),因为要区分dict
print(s)
- 改
# set集合中的数据没有索引. 也没有办法去定位一个元素. 所以没有办法直接修改.
# 我们可以采用先删除后添加的方式来完成修改操作
s = {'A', 'B', 'C', 'D'}
#把A改为E
s.remove('A')
s.add('E')
print(s)
- 查
#set 是一个可迭代对象,可通过for循环进行遍历查询
s = {'A', 'B', 'C', 'D'}
for i in s:
print(i)
- 常规操作
s = {'A', 'B', 'C', 'D'}
s1 = {'D', 'E', 'F', 'G'}
#交集,获取两个集合中共有的元素
print(s & s1) #{'D'}
print(s.intersection(s1)) # {'D'}
#并集,合并二个集合的元素,重复的覆盖
print(s | s1) #{'E', 'C', 'D', 'A', 'G', 'B', 'F'}
print(s.union(s1)) #{'E', 'C', 'D', 'A', 'G', 'B', 'F'}
#差集,得到第一个集合中单独存在的值
print(s - s1) #{'A', 'C', 'B'}
print(s.difference(s1)) #{'A', 'C', 'B'}
#反差集,得到两个集合中单独存在的数据
print(s ^ s1) #{'C', 'E', 'A', 'G', 'B', 'F'}
print(s.symmetric_difference(s1))#{'C', 'E', 'A', 'G', 'B', 'F'}
s2 = {'A', 'B'}
s3 = {'A', 'B', 'C'}
#子集,用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。
print(s2 < s3) #True
print(s2.issubset(s3)) #True
#超集,判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。
print(s2 > s3) #False
print(s2.issuperset(s3))#False
最后
以上就是典雅银耳汤为你收集整理的Python --基础数据类型(set集合的增删改查及其他相关操作)的全部内容,希望文章能够帮你解决Python --基础数据类型(set集合的增删改查及其他相关操作)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复