集合
- 无序
- 不可重复
- 不可更改
- 内部元素可哈希(不可变)
- 集合本身不可哈希
用途:
- 去重(列表–>集合,自动去重)
- 关系测试
集合的创建
- 空集合
a=set()
print(type(a))
<class ‘set’>
- 创建多元素集合
st = {1,2,3,"a","b","c"}
print(st)
{1, 2, 3, ‘b’, ‘c’, ‘a’}
- 强转
#转化成列表列表
set1 = {1,2,3,4,5,6}
print(list(set1))
print(tuple(set1))
[1, 2, 3, 4, 5, 6]
(1, 2, 3, 4, 5, 6)
集合常见操作
-
增
.add
.updata
-
删
.pop 随机删一个元素
.discard 移除元素,不存在,不会出错
.remove 移除元素,不存在,会出错
del set
集合的基本运算
子集
a = set("abc")
b = set("def")
c = set("ab")
print(a,b,c)
print(a>c)
{‘a’, ‘b’, ‘c’} {‘d’, ‘f’, ‘e’} {‘a’, ‘b’}
True
list_1 = set([1,4,5,7,3,6,7,9])
list_2 = set([2,6,6,2,1,55,12])
#交集
#print(list_1.intersection(list_2))
print(list_1 & list_2)
#并集
#print(list_1.union(list_2))
print(list_1 | list_2)
#差集
#print(list_1.difference(list_2))
print(list_1 - list_2)
#子集
print(list_1.issubset(list_2))
#父集
print(list_1.issuperset(list_2))
#对称差集
#print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2)
{1, 6}
{1, 2, 3, 4, 5, 6, 7, 9, 12, 55}
{3, 4, 5, 7, 9}
False
False
{2, 3, 4, 5, 7, 9, 12, 55}