Set集合
1.概述
set与dict类似,也是一组key的集合,但与dict的区别在于set不存储value
本质:无序且无重复元素的集合
2.set的创建
语法:
set1 = set([1, 2, 3, 4, 5])
注意:创建set需要一个list或者tuple或者dict作为输入集合,重复的元素在set中会被自动的过滤
s1 = set([1, 2, 3, 4, 5])
print(s1)
3.set操作
3.1 set.add()
注意:
1.可以添加重复的元素,但是不会有效果
2.add 的元素不能是列表或者字典,因为他们是可变的
s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)
#结果
{1, 2, 3, 4, 5, 6, (2, 3, 4)}
3.2 set.update()
功能:插入整个list、tuple、字符串打碎插入
注意:不能直接插入数字
s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)
#结果
{1, 2, 3, 4, 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}
3.3 set.remove(元素)
功能:删除元素
s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)
3.4 遍历元素
语法:
for i in set :
print(i)
注意:set是无序的,因此不能通过下标获取元素
for index, data in enumerate(set):
print(index, data)
可以通过这种方式,来强行添加下标
s1 = set([1, 2, 3, 4, 5])
for i in s1:
print(i)
for index,data in enumerate(s1):
print(index, data)
3.5 交集与并集
语法:
交集 newest = set1 & set2
并集 newest = set1 | set2
s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)
#结果
{4, 5}
{1, 2, 3, 4, 5, 6, 7}
类型转换
主要针对几种存储工具:list、tuple、dict、set
特殊之处:dict是用来存储键值对的
1 list 转换为set
l1 = [1, 2, 4, 5]
s1 = set(l1)
print(type(s1))
print(s1)
2 tuple 转换为set
t1 = (1, 2, 3, 4)
s1 = set(t1)
print(type(s1))
print(s1)
3 set转换为list
s1 = set([1, 2, 3, 4])
l1 = list(s1)
print(type(l1))
print(l1)
4 set转换为tuple
s1 = set([1, 2, 3, 4])
t1 = tuple(s1)
print(type(t1))
print(t1)