2.0 KiB
2.0 KiB
| title | date | tags | categories | author | ||
|---|---|---|---|---|---|---|
| Set 集合 | 2020-07-25 23:00:40 |
|
|
Anges黎梦 |
集合 Set
集合是一个无序的不重复序列。
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
创建集合
list_1 = ['a','b','c','d','a','a','b']
print(set(list_1)) # 集合的定义
print(type(set(list_1)))
-
定义,用{}直接定义集合,或者用set函数创建集合。
-
空集合一定要用set函数来创建,因为{}代表创建的是空字典
-
集合分为可变和不可变集合两种,set为可变集合,frozenset不可变集合
基本操作
set_1 = set(list_1)
set_1.add('o') # 集合中添加数据,可多个
print(set_1)
set_1.update() # 可以添加列表、元组、字典等,可多个。
set_1.update([1,5,7])
set_1.update({"y":9}) # 如果添加的是字典,那么添加进去的只有key
set_1.update(('t','n'))
print(set_1)
del set_1 删除集合
set_1.remove(1) # 删除的内容一定要在集合中,否则会抛出异常
print(set_1)
set_1.discard('p') # 删除的内容不在集合中,不会抛出异常
print(set_1)
a = set_1.pop() # 随机删除集合中的某一个元素
print(set_1)
print(a)
len
print(len(set_1))
clear
set_1.clear()
print('a' in set_1)
集合的运算
set_2 = {'b', 'd', 'c', 'a'}
set_3 = {'a', 5, 7, 'b', 'n',}
print(set_2 - set_3) # 集合set_2中有,而set_3中年没有的元素
print(set_2 | set_3) # 两个集合中包含的所有元素
print(set_2 & set_3) # 两个集合中都包含的元素
print(set_2 ^ set_3) # 不同时包含与两个集合的元素
内置的方法
a= set_2.intersection(set_3) # 返回两个集合的交集
print(a)
print(set_2.isdisjoint(set_3)) # 判断两个集合是否有相同的元素,如果没有,返回true,如果有返回false
print(set_2.union(set_3)) # 返回两个集合的并集