Live2d Test Env

python-集合

集合(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'>

注意:

  1. 使用大括号方式,可以创建元组、字符、数字
  1. 使用set()方式,可以创建元组、字符、字典、、数字以及list
  1. 如果取字典方式,则只可以取到该字典的key,拿不到字典的value
  1. 使用{}方式不能去重字符串格式的数据,想要去重字符串格式的数据,须使用set
  1. 集合是无序

增删合

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'}

删:

  1. 使用set.remove('b')删除指定值
如果不确定集合中是否存在该值,可以先使用in检测,否则会报错
my_set.remove('b') 
print(my_set)  # {'a'}
  1. 使用set.pop()删除随机某个值
my_set.pop() # 随机删除集合中某个值
  1. 使用set.discard()删除某个值,如果集合内有元素就删除,没有就不进行任何操作
my_set.discard('a') # {'a'}

交并差

可以使用&|-连接多个集合

my_setA = {'a', 'b', 'c', 'd'}
my_setB = {'c', 'd', 'e'}

交集 & setAsetB共有的元素集合

print(my_setA & my_setB )  # {'c', 'd'}

并集 | setAsetB合并后的集合

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长度

以上。

posted @ 2023-03-19 19:31  致爱丽丝  阅读(13)  评论(0编辑  收藏  举报