# Python基础之set应用详解

set 顾明思义，就是个集合，集合的元素是唯一的，无序的。

1 2 3 4 5

name = set(['Tom','Lucy','Ben']) name.add('Juny') print(name) #输出：{'Lucy', 'Juny', 'Ben', 'Tom'}

clear（清空所有元素）

1 2 3 4 5

name = set(['Tom','Lucy','Ben']) name.clear() print(name) #输出：set()

copy(拷贝set集合)

1 2 3 4 5

name = set(['Tom','Lucy','Ben']) new_name = name.copy() print(new_name) #输出：{'Tom', 'Lucy', 'Ben'}

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

1 2 3 4 5 6 7 8

A = set([2,3,4,5]) B = set([3,4]) C = set([2]) n = n1.difference(n2,n3) print(n) #输出：{5} #返回A集合里面，在B和C集合中没有的元素，并生成新的集合

difference_update（删除A集合里面，在B集合中存在的元素。）

1 2 3 4 5 6

A = set([2,3,4,5]) B = set([4,5]) A.difference_update(B) print(A) #输出：{2, 3}

1 2 3 4 5

n = set([2,3,4]) n.discard(3) print(n) #输出：{2, 4}

intersection(取交集，并生成新的集合)

1 2 3 4 5 6

n1 = set([2,3,4,5]) n2 = set([4,5,6,7]) n = n1.intersection(n2) print(n) #输出：{4, 5}

intersection_update(取交集，修改原来的集合)

1 2 3 4 5 6

n1 = set([2,3,4,5]) n2 = set([4,5,6,7]) n1.intersection_update(n2) print(n1) #输出：{4, 5}

isdisjoint(判断交集，是返回False，否返回True)

1 2 3 4 5

n1 = set([2,3,4,5]) n2 = set([4,5,6,7]) print(n1.isdisjoint(n2)) #输出：False

issubset(判断子集)

1 2 3 4 5 6

A = set([2,3]) B = set([2,3,4,5]) print(A.issubset(B)) #输出：True #A是B的子集

issuperset(判断父集)

1 2 3 4 5 6

A = set([2,3]) B = set([2,3,4,5]) print(B.issuperset(A)) # 输出：True #B是A的父集

pop(随机移除一个元素)

1 2 3 4 5

n = set([2,3,4,5]) n1 = n.pop() print(n,n1) # 输出：{3, 4, 5} 2

remove(移除指定元素)

1 2 3 4 5

n = set([2,3,4,5]) n.remove(2) print(n) # 输出：{3, 4, 5}

symmetric_difference(取交集，并生成新的集合)

1 2 3 4 5

A = set([2,3,4,5]) B = set([4,5,6,7]) print(A.symmetric_difference(B)) # 输出：{2, 3, 6, 7}

symmetric_difference_update(取交集，改变原来的集合)

1 2 3 4 5 6

A = set([2,3,4,5]) B = set([4,5,6,7]) A.symmetric_difference_update(B) print(A) # 输出：{2, 3, 6, 7}

union（取并集，并生成新的集合）

1 2 3 4 5

A = set([2,3,4,5]) B = set([4,5,6,7]) print(A.union(B)) # 输出：{2, 3, 4, 5, 6, 7}

update(取并集，改变原来的集合)

1 2 3 4 5 6

A = set([2,3,4,5]) B = set([4,5,6,7]) A.update(B) print(A) # 输出：{2, 3, 4, 5, 6, 7}

24 篇文章12 人订阅

0 条评论

70060

66150

29140

12730

17330

22430

21330

24740

20420

18840