集合(set):是python
的一种数据结构,内部存储着一组唯一
的,无序
的数据,由于它的唯一性和去重性,通常用于list或者tuple或者string的去重(此时集合应使用set方式)
如何创建集合
使用
set
函数:
my_set = set(['1',3,2])
print(type(my_set)) # <class 'set'>
使用大括号:
my_set2 = {'1',3,2}
print(type(my_set2)) # <class 'set'>
注意:
- 使用大括号方式,可以创建元组、字符、数字
- 使用set()方式,可以创建元组、字符、字典、、数字以及list
- 如果取字典方式,则只可以取到该字典的key,拿不到字典的value
- 使用
{}
方式不能去重字符串格式的数据,想要去重字符串格式的数据,须使用set
- 集合是无序的
增删合
my_set = {'a', 'b'}
合:
set.update()
my_set2 = {['c','d','e']}
print(my_set.update(my_set2 )) # {'c', 'd', 'a', 'e', 'b'}
增: 使用
set.add()
my_set.add(1)
print(my_set) # {1, 'a','b'}
删:
- 使用
set.remove('b')
删除指定值
如果不确定集合中是否存在该值,可以先使用in检测,否则会报错
my_set.remove('b')
print(my_set) # {'a'}
- 使用
set.pop()
删除随机某个值
my_set.pop() # 随机删除集合中某个值
- 使用
set.discard()
删除某个值,如果集合内有元素就删除,没有就不进行任何操作
my_set.discard('a') # {'a'}
交并差
可以使用
&|-
连接多个集合
my_setA = {'a', 'b', 'c', 'd'}
my_setB = {'c', 'd', 'e'}
交集
&
setA
与setB
共有的元素集合
print(my_setA & my_setB ) # {'c', 'd'}
并集
|
setA
与setB
合并后的集合
print(my_setA | my_setB ) # {'b', 'd', 'e', 'c', 'a'}
差集
-
setA
集合中存在但setB
中不存在的集合
print(my_setA - my_setB) # {'a', 'b'}
其它方法
in
: 可以使用in
来判断是否数据是否在集合中
len()
: 可以使用len(set)
获取set长度
以上。