1.集合
和列表非常相似
不点同
- 1.集合当中只能存储不可变对象
- 2.集合中存储的对象是无序的(不是按照元素的插入顺序进行保存的)
- 3.集合中不能出现重复元素
- 4.集合只能添加不可变对象
1.1集合的创建
- 使用 {}来创建集合,其中重复的数据会被去除,和字典很像,但是没有key
s = {10,2,3,4,1,2,3,1,1,2,10}
print(s)
- 集合只能添加不可变对象
s= {[1,2,3],[4,5,6]}
print(s)
#运行报错
- 集合不能直接使用 s = {} 来创建集合,如果用此方法创建,创建出来的数据类型为字典,所以如果想要创建空的集合要用 set()函数
- set()
- set()可以将序列(列表,字符串等 )和字典转换成为集合
s = set([1,2,3,4,5,1,2,3,4,5])
- 使用set()将字典转换为集合时,只会包含字典中的键(key)
s = set({'a':1,'b':2,'c':3})
- 创建一个集合
s = {'a','b',1,2,3}
print(s,type(s))
print(s[0])
此时运行会报错,因为集合不支持通过索引的方法取值,而如果想要通过索引的方式来取值的话,可以将其转成列表再取,方法如下:
print(list(s)[0])
1.2 集合当中一些方法的使用
- 1 in 和 Not in
是用来检查集合当中的元素 - 2 len()
来获取集合当中的元素数量(集合的长度) - 3 add()
向集合当中添加元素
s.add(10) - 4 update()
将一个集合当中的元素添加到当前集合中
s2 = set('python')
s.update(s2)
- 5 pop()
随机删除集合当中的一个元素
{'o', 1, 2, 3, 'y', 10, 'a', 'b', 'n', 'h', 't', 30, 'p'}
result = s.pop() # 返回的是删除的元素信息
print(result)
- 6 remove()
删除集合中指定的元素
s.remove(1) - 7 clear()
清空集合
1.3 集合的运算
s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
- & 交集运算,也就是取2个集合中都包含的元素数据
result = s1 & s2
print(result)
# {3, 4, 5}
- | 并集运算
result = s1 | s2
print(result)
# {1, 2, 3, 4, 5, 6, 7}
- - 差集
result = s1 - s2
print(result)
#{1, 2}
- ^ 亦或集
指的是集合里面不相交的部分
result = s1 ^ s2
print(result)
# {1, 2, 6, 7}
- <=
检查一个集合是否是另一个集合的子集
a = {1,2,3}
b = {1,2,3,4,5,6}
result = a <= b # a集合是b集合的子集 b集合是a集合的超集 结果为 True
result = {1,2,3} < {1,2,3}
- <
检查一个集合是否是另一个集合的真子集
print('result = ',result,s1,s2)
- >=
检查一个集合是否是另一个集合的超集 - >
检查一个集合是否是另一个集合的真超集
网友评论