python学习之集合

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...}
或者
set(value)

1、add(增加元素)

name = set(['Tom','Lucy','Ben'])
name.add('Juny')
print(name)

#输出:{'Lucy', 'Juny', 'Ben', 'Tom'}

2、clear(清空所有元素)

name = set(['Tom','Lucy','Ben'])
name.clear()
print(name)

#输出:set()

3、copy(拷贝set集合)

name = set(['Tom','Lucy','Ben'])
new_name = name.copy()
print(new_name)

#输出:{'Tom', 'Lucy', 'Ben'}

4、difference(返回两个或多个集合中不同的元素,并生成新的集合)

A = set([2,3,4,5])
B = set([3,4])
C = set([2])
n = A.difference(B,C)
print(n)

#输出:{5}
#返回A集合里面,在B和C集合中没有的元素,并生成新的集合

5、difference_update(删除A集合里面,在B集合中存在的元素。)

A = set([2,3,4,5])
B = set([4,5])
A.difference_update(B)
print(A)

#输出:{2, 3}

6、discard(移除元素,如果元素不存在不报错)

n = set([2,3,4])
n.discard(3)
print(n)

#输出:{2, 4}

7、intersection(取交集,并生成新的集合)

n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
n = n1.intersection(n2)
print(n)

#输出:{4, 5}

8、intersection_update(取交集,修改原来的集合)

n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
n1.intersection_update(n2)
print(n1)

#输出:{4, 5}

9、isdisjoint(判断交集,是返回False,否返回True)

n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
print(n1.isdisjoint(n2))

#输出:False

10、issubset(判断子集)

A = set([2,3])
B = set([2,3,4,5])
print(A.issubset(B))

#输出:True
#A是B的子集

11、issuperset(判断父集)

A = set([2,3])
B = set([2,3,4,5])
print(B.issuperset(A))

# 输出:True
#B是A的父集

12、pop(随机移除一个元素)

n = set([2,3,4,5])
n1 = n.pop()
print(n,n1)

# 输出:{3, 4, 5} 2

13、remove(移除指定元素,元素不存在会报错)

n = set([2,3,4,5])
n.remove(2)
print(n)

# 输出:{3, 4, 5}

14、symmetric_difference(取交集,并生成新的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
print(A.symmetric_difference(B))

# 输出:{2, 3, 6, 7}

15、symmetric_difference_update(取交集,改变原来的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
A.symmetric_difference_update(B)
print(A)

# 输出:{2, 3, 6, 7}

16、union(取并集,并生成新的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
print(A.union(B))

# 输出:{2, 3, 4, 5, 6, 7}

17、update(取并集,改变原来的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
A.update(B)
print(A)

# 输出:{2, 3, 4, 5, 6, 7}