集合(set)

1.定义:由不同元素组成,无序,且集合中元素是不可变类型。如:int,str,tuple

(1)由于是不同元素组成,所以可以用于简单的去重(不考虑顺序时可用)

a = [1,2,1,3,5,1,4,1]
b= set(a)
print(b)
》》》
》》》{1, 2, 3, 4, 5}

 

2.可变性:集合本身是可以变化的,但是也可以创建不可变集合。》》》》frozenset()

(1)增加元素:.add()

(2)删除:.1).pop()随机删除集合中的元素

      2).remove(元素):指定元素删除,但如果元素不存在时会报错。

      3).discard(元素):删除指定元素,且没有返回值。若集合不存在该元素时,不会报错。

      

s = {1,2,3,4,8,9}
s.discard(9)
print(s)
》》》
》》》{1, 2, 3, 4, 8}
s = {1,2,3,4,8,9}
s.discard(10)
print(s)
》》》
》》》{1, 2, 3, 4, 8, 9}

3.基本的运算

(1)求交集:

a = {1,2,3,4,5,6}
b = {1,3,5,7,9,10}
c = a.intersection(b)
print(c)

用符号表示
c = a&b
print(c)

》》》{1, 3, 5}
》》》
》》》{1, 3, 5}

 

(2)求并集:

a = {1,2,3,4,5,6}
b = {1,3,5,7,9,10}
c = a.union(b)
print(c)

用符号表示
c = a|b
print(c)

》》》{1, 2, 3, 4, 5, 6, 7, 9, 10}
》》》
》》》{1, 2, 3, 4, 5, 6, 7, 9, 10}

 

(3)求差集:

在a中减去在b中也有的元素
a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} c = a.difference(b) print(c) 用符号表示 c = a-b print(c) 》》》 》》》{2, 4, 6} 》》》{2, 4, 6}

 

(4)交叉补集:简单理解为两个集合的并集减去交集得到的值

a = {1,2,3,4,5,6}
b = {1,3,5,7,9,10}
c = a.symmetric_difference(b)
print(c)

用符号表示
c = a^b
print(c)
》》》

》》》{2, 4, 6, 7, 9, 10}
》》》{2, 4, 6, 7, 9, 10}

4.更新:即进行运算后将得到的值,重新赋值给原来的集合:如图中的a

a = {1,2,3,4,5,6}
b = {1,3,5,7,9,10}
a.intersection_update(b)
print(a)

》》》{1, 3, 5}

 

posted @ 2019-07-23 00:33  小白cwt  阅读(144)  评论(0编辑  收藏  举报